{"code":200,"data":{"blocks":{"541a3146-400a-49e1-8207-321bd33ac822":{"uuid":"541a3146-400a-49e1-8207-321bd33ac822","parentId":"ddae79ab-6cfe-46fd-9348-6f80f3ae800f","spaceId":"e45c909a-69e4-4851-b380-63e47cb8ae73","type":0,"title":"YunJava","backgroundColor":null,"textColor":null,"data":{"icon":{},"cover":"","format":{"locked":false,"cardFormat":{"showType":"default","cardStyle":"fill","isShowIcon":false,"isShowCover":false},"commentAlignment":"bottom"},"segments":[{"text":"YunJava","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"directoryMenu":false,"pageFixedWidth":true,"collectionCardColor":"grey"},"version":1494,"status":1,"subNodes":["0e39b589-7efc-4afa-a633-3bf15276762a","b0b3635e-1a5e-4f46-9570-861ad49b42d9","83e50ac8-d37d-4dfc-85fa-899e840ce346","61cdfe30-1665-4c77-91d0-2673d82ce4c1"],"views":null,"isTemplate":false,"templatePages":null,"moved":null,"permissions":[{"role":"reader","type":"public","allowSeo":false,"password":"","createdAt":1732899799299,"createdBy":"f6bf5bec-b1f2-4751-b556-0013739570af","allowDownload":false,"allowDuplicate":false,"allowSubscribe":false,"allowShowAIChat":false,"shareShowSidebar":false,"allowSelectionCopy":false,"allowShowBreadcrumb":false,"sharePageDistributionRatio":0},{"role":"editor","type":"space","isGuest":false,"createdAt":1736641868136,"createdBy":"f6bf5bec-b1f2-4751-b556-0013739570af"}],"discussions":[],"createdAt":1732851166981,"createdBy":"f6bf5bec-b1f2-4751-b556-0013739570af","updatedAt":1737026878730,"updatedBy":"f6bf5bec-b1f2-4751-b556-0013739570af"},"0e39b589-7efc-4afa-a633-3bf15276762a":{"uuid":"0e39b589-7efc-4afa-a633-3bf15276762a","parentId":"541a3146-400a-49e1-8207-321bd33ac822","spaceId":"e45c909a-69e4-4851-b380-63e47cb8ae73","type":12,"title":"{\n   \"start\":true,\n   \"update\":false,\n   \"version\":\"老小子自用版\"\n}","backgroundColor":"","textColor":"purple","data":{"icon":{"type":"emoji","value":"💡"},"format":{"language":"JSON","captionGravity":"LEFT","contentGravity":"LEFT","mindMappingFormat":{"type":1,"lineStyle":0,"oldBlockType":13,"siblingNodeAlignment":false}},"checked":false,"segments":[{"text":"{\n   \"start\":true,\n   \"update\":false,\n   \"version\":\"老小子自用版\"\n}","type":0,"enhancer":{"bold":true,"code":true,"italic":false,"textColor":"purple","underline":false,"lineThrough":false}}],"description":[{"text":"YunJava","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}]},"version":62,"status":1,"subNodes":[],"views":null,"isTemplate":false,"templatePages":null,"moved":null,"permissions":[],"discussions":[],"createdAt":1732851166981,"createdBy":"f6bf5bec-b1f2-4751-b556-0013739570af","updatedAt":1735846249918,"updatedBy":"f6bf5bec-b1f2-4751-b556-0013739570af"},"12799ff9-865e-401d-aae9-d1e5640a6c9a":{"uuid":"12799ff9-865e-401d-aae9-d1e5640a6c9a","parentId":"b0b3635e-1a5e-4f46-9570-861ad49b42d9","spaceId":"e45c909a-69e4-4851-b380-63e47cb8ae73","type":28,"title":"白名单","backgroundColor":null,"textColor":null,"data":{"format":{"textColor":"green","backgroundColor":""},"segments":[{"text":"白名单","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"pageFixedWidth":true,"collectionCardColor":"orange","collectionProperties":{"31be0fbe-98a4-4084-9e6d-1276af62e447":[{"text":"","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"5a8f4eec-c139-44ec-b681-90767a0aee00":[{"text":"wxid_oz4jj2h0zutg21","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"72202174-9d4f-4874-a2bb-280f617608ab":[{"text":"wxid_dp3mhplw7acs29","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"93cbbe81-36fd-4b70-a54b-c6e090270833":[{"text":"34672930085@chatroom","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"9b35d9d7-8b81-4c03-8b6f-e37c5fe42ff5":[{"text":"55962799135@chatroom","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"a2746f87-e4a2-466b-8335-4a62768a87fc":[{"text":"","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"ad75d577-bc9a-458e-9a16-837461e1f34e":[{"text":"48055496821@chatroom","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"adca294b-ee08-4b7e-a040-e0f608786311":[{"text":"wxid_fbwodgp7nw5629","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"b2d65ee0-e30a-49b1-8e1b-5ec006a97884":[{"text":"44036019631@chatroom","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"bb672eba-4a48-47bd-9b76-f825e9bdcba4":[{"text":"白名单","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"d463d662-041b-4fb9-9bc6-7f9b07715326":[{"text":"","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}]}},"version":45,"status":1,"subNodes":[],"views":null,"isTemplate":null,"templatePages":null,"moved":null,"permissions":[],"discussions":[],"createdAt":1732898837386,"createdBy":"f6bf5bec-b1f2-4751-b556-0013739570af","updatedAt":1736951197415,"updatedBy":"f6bf5bec-b1f2-4751-b556-0013739570af"},"61cdfe30-1665-4c77-91d0-2673d82ce4c1":{"uuid":"61cdfe30-1665-4c77-91d0-2673d82ce4c1","parentId":"541a3146-400a-49e1-8207-321bd33ac822","spaceId":"e45c909a-69e4-4851-b380-63e47cb8ae73","type":1,"title":"","backgroundColor":null,"textColor":null,"data":{"segments":[{"text":"","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"collectionCardColor":"yellow"},"version":1,"status":1,"subNodes":[],"views":null,"isTemplate":null,"templatePages":null,"moved":null,"permissions":[],"discussions":[],"createdAt":1733059648212,"createdBy":"f6bf5bec-b1f2-4751-b556-0013739570af","updatedAt":1733059648215,"updatedBy":"f6bf5bec-b1f2-4751-b556-0013739570af"},"83e50ac8-d37d-4dfc-85fa-899e840ce346":{"uuid":"83e50ac8-d37d-4dfc-85fa-899e840ce346","parentId":"541a3146-400a-49e1-8207-321bd33ac822","spaceId":"e45c909a-69e4-4851-b380-63e47cb8ae73","type":25,"title":"public static double ParseString(String version) {\n    String[] parts = version.split(\"\\\\.\");\n    double result = 0;\n    for (int i = 0; i < parts.length; i++) {\n        String numericPart = parts[i].replaceAll(\"[^0-9]\", \"\");\n        if (!numericPart.isEmpty()) {\n            int value = Integer.parseInt(numericPart);\n            result += value * Math.pow(10, (parts.length - i - 1));\n        }\n    }\n    return result;\n}\n\npublic int getDuration(String source) {\n    MediaMetadataRetriever retriever=new MediaMetadataRetriever();\n    try {\n        if(isUrl(source)) {\n            URL url=new URL(source);\n            retriever.setDataSource(url.toString());\n        } else if(isFilePath(source)) {\n            retriever.setDataSource(source);\n        } else {\n            return 1;\n        }\n        String time=retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);\n        return Integer.parseInt(time);\n    } catch (Exception e) {\n        e.printStackTrace();\n        return 1;\n    }\n}\npublic static void SendReply(long msgId, String qun, String text) {\n    double version=ParseString(VersionName(HostInfo.getModuleContext()));\n    double ber=ParseString(\"3.5.5\");\n    if(version>=ber) {\n        sendReply(msgId,qun,text);\n    } else {\n        sendTextCard(qun,text);\n    }\n}\npublic static String multi(String str) {\n    String result=post(\"https://suo.yt/short\",\"longUrl=\"+str+\"&shortKey=\");\n    try {\n        JSONObject json=new JSONObject(result);\n        Integer status=json.getInt(\"Code\");\n        if(status==1) {\n            String url=json.getString(\"ShortUrl\");\n            return url;\n        }\n        return str;\n    } catch (Throwable th) {\n        return str;\n    }\n}\npublic static long timeUntilNext(int unit, int type) {\n    LocalDateTime now=LocalDateTime.now();\n    LocalDateTime targetTime;\n    switch (unit) {\n    case 1: // 周//剩天\n        targetTime=now.withHour(0).withMinute(0).withSecond(0).withNano(0).plusWeeks(1);\n        break;\n    case 2: // 天/剩时\n        targetTime=now.withHour(0).withMinute(0).withSecond(0).withNano(0).plusDays(1);\n        break;\n    case 3: // 时/剩分\n        targetTime=now.withMinute(0).withSecond(0).withNano(0).plusHours(1);\n        break;\n    case 4: // 分/剩秒\n        targetTime=now.withSecond(0).withNano(0).plusMinutes(1);\n        break;\n    default:\n        targetTime=now.withSecond(0).withNano(0).plusMinutes(1);\n    }\n    Duration duration=Duration.between(now, targetTime);\n    switch (type) {\n    case 1: // 周/剩天\n        return duration.toDays()/7;\n    case 2: // 天/剩时\n        return duration.toHours();\n    case 3: // 时/剩分\n        return duration.toMinutes();\n    case 4: // 分/剩秒\n        return duration.getSeconds();\n    default:\n        return duration.getSeconds();\n    }\n}\npublic static String VersionName(Context context) {\n    try {\n        return context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName;\n    } catch (Exception e) {\n        e.printStackTrace();\n        return \"\";\n    }\n}\npublic static int VersionCode(Context context) {\n    try {\n        return context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode;\n    } catch (Exception e) {\n        e.printStackTrace();\n        return -1;\n    }\n}\npublic static String AudioToSilk(String url) {\n    if(!url.contains(\".silk\")) {\n        String result=post(\"https://oiapi.net/API/Mp32Silk\",\"url=\"+URLEncoder.encode(url,\"UTF-8\"));\n        try {\n            JSONObject json=new JSONObject(result);\n            Integer code=json.getInt(\"code\");\n            if(code==1) {\n                String message=json.getString(\"message\");\n                return message;\n            } else {\n                return \"\";\n            }\n        } catch(e) {\n            return \"\";\n        }\n    }\n    return url;\n}\npublic static String formatTime(float time) {\n    String suffix=\"豪秒\";\n    long seconds=(long)(time/1000);\n    String tr=seconds/3600+\"时\"+(seconds%3600)/60+\"分\"+seconds%3600%60%60+\"秒\";\n    tr=tr.replace(\"分0秒\",\"分\");\n    tr=tr.replace(\"时0分\",\"时\");\n    tr=tr.replace(\"0时\",\"\");\n    return tr;\n}\npublic static HashMap 地图=new HashMap();\npublic class 检查 {\n    String 名称;\n    JSONArray 数组;\n    JSONArray 数据=new JSONArray();\n    long 时间;\n    int 数量;\n}\nActivity ThisActivity = null;\npublic void initActivity() {\n    ThisActivity = getActivity();\n}\npublic void ts(String Title, String Content) {\n    initActivity();\n    ThisActivity.runOnUiThread(new Runnable() {\n        public void run() {\n            AlertDialog alertDialog = new AlertDialog.Builder(ThisActivity,AlertDialog.THEME_DEVICE_DEFAULT_LIGHT).create();\n            alertDialog.setTitle(Title);\n            alertDialog.setMessage(Content);\n            alertDialog.setCancelable(false);\n            alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE, \"确定\", new DialogInterface.OnClickListener() {\n                public void onClick(DialogInterface dialog, int which) {}\n            });\n            alertDialog.show();\n        }\n    });\n}\npublic class CustomToast {\n    private static Toast toast;\n    private static Handler handler = new Handler(Looper.getMainLooper());\n    public static void a(Context context,String str) {\n        handler.post(new Runnable() {\n            public void run() {\n                if (toast != null) {\n                    toast.cancel();\n                }\n                TextView textView = new TextView(context);\n                textView.setBackground(n4(\"#181818\", \"#FFFFFF\", 0, 10)); // 设置背景\n                textView.setPadding(30, 30, 30, 30);\n                textView.setTextColor(android.graphics.Color.WHITE); // 设置文本颜色为白色\n                textView.setGravity(Gravity.CENTER); // 设置文本居中\n                textView.setText(\"[YunJava]\\n\" + str); // 设置文本内容\n                toast = new Toast(context.getApplicationContext());\n                toast.setGravity(Gravity.CENTER, 0, 0); // 设置Toast显示位置为屏幕中央\n                toast.setDuration(Toast.LENGTH_LONG); // 设置Toast显示时长\n                toast.setView(textView); // 设置Toast的视图\n                toast.show(); // 显示Toast\n            }\n        });\n    }\n    public static android.graphics.drawable.GradientDrawable n4(String str, String str2, int i, int i2) {\n        android.graphics.drawable.GradientDrawable gradientDrawable = new android.graphics.drawable.GradientDrawable();\n        gradientDrawable.setColor(android.graphics.Color.parseColor(str));\n        gradientDrawable.setStroke(i, android.graphics.Color.parseColor(str2));\n        gradientDrawable.setCornerRadius(i2);\n        gradientDrawable.setAlpha(130);\n        gradientDrawable.setShape(android.graphics.drawable.GradientDrawable.RECTANGLE); // 设置形状为矩形\n        return gradientDrawable;\n    }\n}\npublic static String FileFormatConversion(long sizeInBytes) {\n    double sizeInKB=sizeInBytes / 1024.0; // 文件夹大小（KB）\n    DecimalFormat decimalFormat=new DecimalFormat(\"#.###\");\n    if (sizeInKB < 1024) {\n        return decimalFormat.format(sizeInKB) + \"KB\";\n    } else if (sizeInKB < 1024 * 1024) {\n        double sizeInMB=sizeInKB / 1024.0; // 文件夹大小（MB）\n        return decimalFormat.format(sizeInMB) + \"MB\";\n    } else {\n        double sizeInGB=sizeInKB / (1024.0 * 1024.0); // 文件夹大小（GB）\n        return decimalFormat.format(sizeInGB) + \"GB\";\n    }\n}\nint 选择=0;\npublic void 存(String a,String b,String c) {\n    putString(a,b,c);\n}\npublic String 取(String a,String b) {\n    return getString(a,b,\"\");\n}\npublic static long getDirectorySize(File dir) {\n    if (dir == null || !dir.isDirectory()) {\n       return 0;\n    }\n    long size = 0;\n    File[] files = dir.listFiles();\n    if (files != null) {\n        for (File file : files) {\n            if (file.isFile()) {\n                size += file.length();\n            } else if (file.isDirectory()) {\n                 size += getDirectorySize(file); // 递归调用\n            }\n        }\n    }\n    return size;\n}\nboolean flag=false;\npublic List list=new ArrayList();\npublic static void DetectPic() {\n    try {\n        File dir = new File(JavaPath+\"/数据/底图/\");\n        if(!dir.exists()||getDirectorySize(dir)==0) {\n            dir.mkdirs();\n            Downloadpic(-1);\n        } else {\n            for(int i=0; i<10; i++) {\n                String fi=JavaPath+\"/数据/底图/底图\"+i+\".jpg\";\n                File di = new File(fi);\n                if(!di.exists()) {\n                    Downloadpic(i);\n                    if(list.contains(fi)) {\n                        list.remove(fi);\n                    }\n                }\n            }\n        }\n    } catch(Exception e) {\n        e.printStackTrace();\n    }\n}\npublic static void Downloadpic(int j) {\n    String url=\"https://api.miaomc.cn/image/get\";\n    if(j==-1) {\n        flag=true;\n        CustomToast.a(mContext,\"底图正在缓存,请稍后\");\n        for(int i=0; i<10; i++) {\n            try {\n                xz(url,JavaPath+\"/数据/底图/底图\"+i+\".jpg\");\n                if(i==9) {\n                    flag=false;\n                    CustomToast.a(mContext,\"底图缓存成功\");\n                }\n            } catch (Exception e) {\n                e.printStackTrace();\n            }\n        }\n    } else {\n        try {\n            xz(url,JavaPath+\"/数据/底图/底图\"+j+\".jpg\");\n        } catch (Exception e) {\n            e.printStackTrace();\n        }\n    }\n}\npublic static void getData(String qun,String text) {\n    if(flag) {\n        sendMsg(qun,text);\n        CustomToast.a(mContext,\"底图缓存中，暂时切换文字发送\");\n        return;\n    }\n    String textface=JavaPath+\"/数据/字体.ttf\";\n    File ff=new File(textface);\n    if(!ff.exists()) {\n        String url=\"https://sfile.chatglm.cn/chatglm4/b55e86e7-3343-443c-a73d-36640717c9cf.ttf\";\n        sendMsg(qun,text);\n        CustomToast.a(mContext,\"字体下载中，暂时切换文字发送\");\n        xz(url,textface);\n        CustomToast.a(mContext,\"字体下载完成\");\n        return;\n    }\n    int num=(int)(Math.random()*10);\n    String Path=JavaPath+\"/数据/底图/底图\"+num+\".jpg\";\n    File directory = new File(Path);\n    while(!directory.exists()) {\n        DetectPic();\n        num=(int)(Math.random()*10);\n        Path=JavaPath+\"/数据/底图/底图\"+num+\".jpg\";\n    }\n    if(!list.contains(Path)) {\n        try {\n            long directorySize = directory.length();\n            if (directorySize == 0) {\n                getData(qun,text);\n                delAllFile(directory,1);\n                list.add(Path);\n                DetectPic();\n                return;\n            }\n            sendPic(qun,MakeTextPhoto(text,Path));\n            delAllFile(directory,1);\n            list.add(Path);\n            DetectPic();\n        } catch(Exception e) {\n            CustomToast.a(mContext,\"底图\"+num+\"错误,已删除并重新回调\");\n            delAllFile(directory,1);\n            getData(qun,text);\n            return;\n        }\n    } else {\n        CustomToast.a(mContext,\"太快了,请慢点\");\n        getData(qun,text);\n    }\n}\npublic static String fetchRedirectUrl(String url) {\n    try {\n        HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();\n        conn.setInstanceFollowRedirects(false);\n        conn.setConnectTimeout(5000);\n        return conn.getHeaderField(\"Location\");\n    } catch (Exception e) {\n        e.printStackTrace();\n        return \"\";\n    }\n}\npublic final class MY {\n    private final static String DES = \"DES\";\n    public static String JM(String src, String key) {\n        try {\n            return new String(JM(hex2byte(src.getBytes()), key.getBytes()));\n        } catch (Exception e)\n        {}\n        return null;\n    }\n    private static byte[] JM(byte[] src, byte[] key) throws Exception {\n        SecureRandom sr = new SecureRandom();\n        DESKeySpec dks = new DESKeySpec(key);\n        SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(DES);\n        SecretKey securekey = keyFactory.generateSecret(dks);\n        Cipher cipher = Cipher.getInstance(DES);\n        cipher.init(Cipher.DECRYPT_MODE, securekey, sr);\n        return cipher.doFinal(src);\n    }\n    private static byte[] hex2byte(byte[] b) {\n        if((b.length % 2) != 0) throw new IllegalArgumentException(\"长度不是偶数\");\n        byte[] b2 = new byte[b.length / 2];\n        for(int n = 0; n < b.length; n += 2) {\n            String item = new String(b, n, 2);\n            b2[n / 2] = (byte) Integer.parseInt(item, 16);\n        }\n        return b2;\n    }\n    private static String byte2hex(byte[] b) {\n        String hs = \"\";\n        String stmp = \"\";\n        for(int n = 0; n < b.length; n++) {\n            stmp = (java.lang.Integer.toHexString(b[n] & 0XFF));\n            if(stmp.length() == 1) hs = hs + \"0\" + stmp;\n            else hs = hs + stmp;\n        }\n        return hs.toUpperCase();\n    }\n}\npublic static void xz(String url,String filepath) throws Exception {\n    InputStream input = null;\n    File file=new File(filepath);\n    if(!file.getParentFile().exists()) {\n        file.getParentFile().mkdirs();\n        if(!file.exists()) {\n            file.createNewFile();\n        }\n    }\n    try {\n        URL urlsssss = new URL(url);\n        HttpURLConnection urlConn = (HttpURLConnection) urlsssss.openConnection();\n        input = urlConn.getInputStream();\n        byte[] bs = new byte[1024];\n        int len;\n        FileOutputStream out = new FileOutputStream(filepath, false);\n        while((len = input.read(bs)) != -1) {\n            out.write(bs, 0, len);\n        }\n        out.close();\n        input.close();\n\n    } catch (IOException e) {\n        return;\n    } finally {\n        try {\n            input.close();\n        } catch (IOException e) {\n            e.printStackTrace();\n        }\n    }\n    return;\n}\nprivate static void downloadFile(String url, String outputPath) throws IOException {\n        InputStream input = null;\n        FileOutputStream output = null;\n        try {\n            URL urls = new URL(url);\n            HttpURLConnection urlConn = (HttpURLConnection) urls.openConnection();\n            input = urlConn.getInputStream();\n            output = new FileOutputStream(outputPath);\n\n            byte[] bs = new byte[1024];\n            int len;\n            while ((len = input.read(bs)) != -1) {\n                output.write(bs, 0, len);\n            }\n        } finally {\n            if (output != null) {\n                output.close();\n            }\n            if (input != null) {\n                input.close();\n            }\n        }\n    }\n\nprivate MediaPlayer mediaPlayer;\npublic void 提示音(Context context, String pathOrUrl) {\n        if (mediaPlayer == null) {\n            mediaPlayer = new MediaPlayer();\n        }\n        try {\n            mediaPlayer.reset();\n            if (isFilePath(pathOrUrl)) {\n                mediaPlayer.setDataSource(pathOrUrl);\n            } else {\n                Uri uri = Uri.parse(pathOrUrl);\n                mediaPlayer.setDataSource(context, uri);\n            }\n            mediaPlayer.prepare();\n            mediaPlayer.start();\n        } catch (Exception e) {\n            e.printStackTrace();\n            releaseMediaPlayer();\n        }\n    }\npublic void releaseMediaPlayer() {\n    if (mediaPlayer != null) {\n        try {\n            if (mediaPlayer.isPlaying()) {\n                mediaPlayer.stop();\n            }\n            mediaPlayer.release();\n        } catch (Exception ex) {\n            ex.printStackTrace();\n        }\n        mediaPlayer = null;\n    }\n}\nString AuthorWxid=\"wxid_tasn67ogsmw821\";\nif(!脚本作者.equals(\"老小子\")){\nToast(\"无权使用老小子脚本\");\nThread.sleep(99999999);}\npublic static String MakeTextPhoto(String text,String pic) {\n    String textface=JavaPath+\"/数据/字体.ttf\";\n    Object typeface;\n    try {\n        typeface=Typeface.createFromFile(textface);\n    } catch(e) {\n        typeface=Typeface.DEFAULT_BOLD;\n    }\n    text=text.replace(\"[]\",\"\");\n    String[] word=text.split(\"\\n\");\n    float textsize=65.0f;\n    float padding=55.0f;\n    Paint paint=new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DITHER_FLAG);\n    paint.setTypeface(typeface);\n    paint.setTextSize(textsize);\n    Bitmap mybitmap;\n    if(isFilePath(pic)) {\n        mybitmap=BitmapFactory.decodeFile(pic);\n    } else {\n        URL imageUrl=new URL(pic);\n        HttpURLConnection con=(HttpURLConnection)imageUrl.openConnection();\n        con.setDoInput(true);\n        con.connect();\n        InputStream input=con.getInputStream();\n        mybitmap=BitmapFactory.decodeStream(input);\n    }\n    float text_width=0;\n    float average_width=0;\n    float text_height=0;\n    String newword=\"\";\n    for(String line:word) {\n        average_width +=paint.measureText(line);\n    }\n    average_width=average_width/word.length;\n    for(String line:word) {\n        float width=paint.measureText(line);\n        if(width-average_width>700) {\n            int rr=Math.ceil(width/average_width);\n            int cut=Math.ceil(line.length()/rr);\n\n            line=splitString(line,cut);\n            for(String newl:line.split(\"\\n\")) {\n                width=paint.measureText(newl);\n                if(text_width<width) text_width=width;\n            }\n        }\n        if(text_width<width) text_width=width;\n        newword+=line+\"\\n\";\n    }\n    word=newword.split(\"\\n\");\n    int width=(int)(text_width + padding * 2f);\n    int heigth=(int)((textsize+8) * word.length+ padding * 2f)-8;\n    Bitmap original=Bitmap.createBitmap(width, heigth, Bitmap.Config.ARGB_8888);\n    Canvas canvas=new Canvas(original);\n    Matrix matrix = new Matrix();\n    float i=(float)width/(float)mybitmap.getWidth();\n    float b=(float)heigth/(float)mybitmap.getHeight();\n    if(i>b) b=i;\n    //if(i<b) b=i;\n    matrix.postScale(b,b); //长和宽放大缩小的比例\n    Bitmap resizeBmp = Bitmap.createBitmap(mybitmap,0,0,mybitmap.getWidth(),mybitmap.getHeight(),matrix,true);\n    canvas.drawBitmap(resizeBmp, (original.getWidth()-resizeBmp.getWidth())/2, (original.getHeight()-resizeBmp.getHeight())/2, paint);\n    canvas.drawColor(Color.parseColor(\"#5AFFFFFF\"));//白色半透明遮罩\n    float yoffset=textsize+padding;\n    String[] colors = {\"黑色\"};\n    //字体颜色可填：红色、黑色、蓝色、蓝绿、白灰、灰色、绿色、深灰、洋红、透明、白色、黄色、随机\n    String 菜单名字=\"\";\n    if(!取(\"开关\",\"菜单名字\").equals(\"\")) {\n        菜单名字=取(\"开关\",\"菜单名字\");\n    }\n    for(int i=0;i<word.length;i++) {\n        if(i==0) {\n            if(菜单名字.equals(\"-\")) {\n                paint.setColor(getColor(colors[i%(colors.length)]));\n            } else paint.setColor(getColor(\"红色\"));\n        } else {\n            paint.setColor(getColor(colors[i%(colors.length)]));\n        }\n        canvas.drawText(word[i],padding,yoffset,paint);\n        yoffset+=textsize+8;\n    }\n    String path=JavaPath+\"/缓存/图片/\"+canvas+\".png\";\n    File end=new File(path);\n    if(!end.exists()) end.getParentFile().mkdirs();\n    FileOutputStream out=new FileOutputStream(end);\n    original.compress(Bitmap.CompressFormat.JPEG, 100, out);\n    out.close();\n    return path;\n}\nprivate static String randomColor(int len) {\n    try {\n        StringBuffer result=new StringBuffer();\n        for (int i=0; i < len; i++) {\n            result.append(Integer.toHexString(new Random().nextInt(16)));\n        }\n        return result.toString().toUpperCase();\n    } catch (Exception e) {\n        return \"00CCCC\";\n    }\n};\npublic static int getColor(String color) {\n    switch(color) {\n    case \"红色\":\n        return Color.RED;\n    case \"黑色\":\n        return Color.BLACK;\n    case \"蓝色\":\n        return Color.BLUE;\n    case \"蓝绿\":\n        return Color.CYAN;\n    case \"白灰\":\n        return Color.LTGRAY;\n    case \"灰色\":\n        return Color.GRAY;\n    case \"绿色\":\n        return Color.GREEN;\n    case \"深灰\":\n        return Color.DKGRAY;\n    case \"洋红\":\n        return Color.MAGENTA;\n    case \"透明\":\n        return Color.TRANSPARENT;\n    case \"白色\":\n        return Color.WHITE;\n    case \"黄色\":\n        return Color.YELLOW;\n    case \"随机\":\n        return Color.parseColor(\"#\"+randomColor(6));\n    default:\n        return Color.parseColor(\"#\"+color);\n    }\n};\npublic Object ParseColor(String color,Object normal) {\n    Object parsecolor;\n    try {\n        if(color.contains(\"随机\")) parsecolor=Color.parseColor(randomColor(6));\n        else parsecolor=Color.parseColor(color);\n    } catch(e) {\n        parsecolor=normal;\n    }\n    return parsecolor;\n}\npublic String splitString(String content, int len) {\n    String tmp=\"\";\n    if(len > 0) {\n        if(content.length() > len) {\n            int rows=Math.ceil(content.length() / len);\n            for (int i=0; i < rows; i++) {\n                if(i == rows - 1) {\n                    tmp += content.substring(i * len);\n                } else {\n                    tmp += content.substring(i * len, i * len + len) + \"\\n \";\n                }\n            }\n        } else {\n            tmp=content;\n        }\n    }\n    return tmp;\n}\nString [] YunJava={\"25164601471@chatroom\"};\n//获取目录大小\npublic static String getFormattedSize(File folder) {\n    if (folder == null || !folder.exists()) {\n        return \"文件夹不存在或为空\";\n    }\n    long sizeInBytes=getFolderSize(folder);\n    double sizeInKB=sizeInBytes / 1024.0; // 文件夹大小（KB）\n    DecimalFormat decimalFormat=new DecimalFormat(\"#.###\");\n    if (sizeInKB < 1024) {\n        return decimalFormat.format(sizeInKB) + \"KB\";\n    } else if (sizeInKB < 1024 * 1024) {\n        double sizeInMB=sizeInKB / 1024.0; // 文件夹大小（MB）\n        return decimalFormat.format(sizeInMB) + \"MB\";\n    } else {\n        double sizeInGB=sizeInKB / (1024.0 * 1024.0); // 文件夹大小（GB）\n        return decimalFormat.format(sizeInGB) + \"GB\";\n    }\n}\npublic static long getFolderSize(File folder) {\n    long size=0;\n    File[] files=folder.listFiles();\n    if (files != null) {\n        for (File file : files) {\n            if (file.isFile()) {\n                size += file.length();\n            } else if (file.isDirectory()) {\n                size += getFolderSize(file);\n            }\n        }\n    }\n    return size;\n}\ndelAllFile(new File(JavaPath+\"/缓存\"),0);\npublic static String u加(String str) {\n    String r=\"\";\n    for (int i=0; i < str.length(); i++) {\n        int chr1=(char) str.charAt(i);\n        String x=\"\"+Integer.toHexString(chr1);\n        if(x.length()==1)r+= \"\\\\u000\"+x;\n        if(x.length()==2)r+= \"\\\\u00\"+x;\n        if(x.length()==3)r+= \"\\\\u0\"+x;\n        if(x.length()==4)r+= \"\\\\u\"+x;\n    }\n    return r;\n}\npublic static String u解(String unicode) {\n    StringBuffer string = new StringBuffer();\n    String[] hex = unicode.split(\"\\\\\\\\u\");\n    for (int i = 0; i < hex.length; i++) {\n        try {\n            if(hex[i].length()>=4) {\n                String chinese = hex[i].substring(0, 4);\n                try {\n                    int chr = Integer.parseInt(chinese, 16);\n                    boolean isChinese = isChinese((char) chr);\n                    string.append((char) chr);\n                    String behindString = hex[i].substring(4);\n                    string.append(behindString);\n                } catch (NumberFormatException e1) {\n                    string.append(hex[i]);\n                }\n\n            } else {\n                string.append(hex[i]);\n            }\n        } catch (NumberFormatException e) {\n            string.append(hex[i]);\n        }\n    }\n    return string.toString();\n}\npublic static boolean isChinese(char c) {\n    Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);\n    if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS\n            || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS\n            || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A\n            || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION\n            || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION\n            || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {\n        return true;\n    }\n    return false;\n}\npublic void onMsg(Object data) {\n    String text=data.content;\n    String qun=data.talker;\n    String wxid=data.sendTalker;\n    if(\"1\".equals(getString(\"开关\",\"私聊播报\",\"\"))) {\n        播报(data);\n    }\n    if(!HList.contains(mWxid)) {\n        if(data.isFile()||data.isText()||data.isReply()||data.isCard()) {\n            if(mWxid.equals(wxid)) {\n                YunJava(data);\n            }\n            if(\"1\".equals(getString(qun,\"开关\",\"\"))) {\n                for(String Yun:getGroups()) {\n                    if(Arrays.asList(YunJava).contains(Yun)||BList.contains(mWxid)||BList.contains(Yun)) { \n                        boolean start=yun.getBoolean(\"start\");\n                        try {\n                            if(start) {\n                                菜单(data);\n                                if(data.talkerType==0) {\n                                    回复(data);\n                                }\n                            }\n                        } catch (Exception e) {\n                            if(data.type!=16777265) {\n                                Toast(\"[\"+脚本名称+\"]出现错误\\n\"+e.getMessage());\n                                if(text.equals(\"\")) {\n                                    text=\"\";\n                                } else {\n                                    text=\"发送\\\"\"+text+\"\\\"时\\n\";\n                                }\n                                sendTextCard(mWxid,\"[\"+脚本名称+\"]\"+text+e.getMessage());\n                            }\n                        }\n                        break;\n                    }\n                }\n            }\n        }\n        if(\"1\".equals(getString(qun,\"开关\",\"\"))) {\n            消息(data);\n            进群(data);\n            if(\"1\".equals(getString(qun,\"自身撤回\",\"\"))) {\n                int 撤回时间 = 30;\n                if(getInt(qun,\"撤回时间\",0) != null) {\n                    撤回时间 = getInt(qun,\"撤回时间\",30);\n                }\n                Handler handler = new Handler(Looper.getMainLooper());\n                handler.postDelayed(new Runnable() {\n                    public void run() {\n                        if(wxid.equals(mWxid)) {\n                            recallMsg(data.msgId);\n                        }\n                    }\n                }, 撤回时间*1000);\n            }\n        }\n    }\n}\npublic void YunJava(Object data) {\n    String text=data.content;\n    String qun=data.talker;\n    String wxid=data.sendTalker;\n    if(text.equals(\"开机\")||text.equals(\"开启\")) {\n        if(!Arrays.asList(YunJava).contains(qun)&&!HList.contains(qun)||mWxid.equals(AuthorWxid)) {\n            if(\"1\".equals(getString(qun,\"开关\",\"\"))) {\n                sendMsg(qun,\"已经开机了\");\n            } else {\n                putString(qun,\"开关\",\"1\");\n                sendMsg(qun,\"已开机\");\n            }\n        } else {\n            CustomToast.a(mContext,\"已被拦截\");\n            sendMsg(mWxid,\"\\\"\"+getName(qun)+\"\\\"已被拦截\");\n        }\n    }\n    if(text.equals(\"关机\")||text.equals(\"关闭\")) {\n        if(\"1\".equals(getString(qun,\"开关\",\"\"))) {\n            putString(qun,\"开关\",null);\n            sendMsg(qun,\"已关机\");\n        }\n    }\n    if(text.equals(\"所有群设置\")||text.equals(\"所有群开关\")) {\n        所有群设置();\n        recallMsg(data.msgId);\n    }\n    if(text.equals(\"开关设置\")||text.equals(\"设置开关\")) {\n        if(!Arrays.asList(YunJava).contains(qun)&&!HList.contains(qun)||mWxid.equals(AuthorWxid)) {\n            开关设置(qun);\n            recallMsg(data.msgId);\n        } else {\n            CustomToast.a(mContext,\"已被拦截\");\n            sendMsg(mWxid,\"\\\"\"+getName(qun)+\"\\\"已被拦截\");\n        }\n    }\n    if(text.equals(\"配置设置\")||text.equals(\"设置配置\")) {\n        配置设置(qun);\n        recallMsg(data.msgId);\n    }\n}\nboolean found=false;\nfor(String Yun:getGroups()) {\n    if(Arrays.asList(YunJava).contains(Yun)||BList.contains(mWxid)||BList.contains(Yun)) {\n        found=true;\n        break;\n    }\n}\npublic void 配置设置(String qun) {\n    initActivity();\n    boolean 底部时间=true;\n    boolean 底部文案=true;\n    boolean 底部尾巴=true;\n    boolean 私聊播报=true;\n    if(!取(\"开关\",\"底部时间\").equals(\"1\")) {\n        底部时间=false;\n    }\n    if(!取(\"开关\",\"底部文案\").equals(\"1\")) {\n        底部文案=false;\n    }\n    if(!取(\"开关\",\"底部尾巴\").equals(\"1\")) {\n        底部尾巴=false;\n    }\n    if(!取(\"开关\",\"私聊播报\").equals(\"1\")) {\n        私聊播报=false;\n    }\n    ThisActivity.runOnUiThread(new Runnable() {\n        public void run() {\n            AlertDialog.Builder tx=new AlertDialog.Builder(ThisActivity, AlertDialog.THEME_DEVICE_DEFAULT_LIGHT);\n            String[] ww= {\"底部时间\",\"底部文案\",\"底部尾巴\",\"私聊播报\"};\n            boolean[] xx= {底部时间,底部文案,底部尾巴,私聊播报};\n            TextView tc = new TextView(ThisActivity);\n            tc.setText(Html.fromHtml(\"<font color=\\\"#D0ACFF\\\">菜单名字</font>\"));\n            tc.setTextSize(20);\n            TextView tc1 = new TextView(ThisActivity);\n            tc1.setText(Html.fromHtml(\"<font color=\\\"#71CAF8\\\">菜单指令</font>\"));\n            tc1.setTextSize(20);\n            TextView tc2 = new TextView(ThisActivity);\n            tc2.setText(Html.fromHtml(\"<font color=\\\"#21E9FF\\\">发送模式</font>\"));\n            tc2.setTextSize(20);\n            TextView tc3 = new TextView(ThisActivity);\n            tc3.setText(Html.fromHtml(\"<font color=\\\"#E09C4F\\\">手机号码</font>\"));\n            tc3.setTextSize(20);\n            final EditText editText = new EditText(ThisActivity);\n            editText.setHint(Html.fromHtml(\"<font color=\\\"#A2A2A2\\\">不填则默认,填\\\"-\\\"无标题</font>\"));\n            editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);\n            editText.addTextChangedListener(new TextWatcher() {\n                public void beforeTextChanged(CharSequence charSequence,int i,int i1,int i2) {}\n                public void onTextChanged(CharSequence charSequence,int i,int i1,int i2) {}\n                public void afterTextChanged(Editable editable) {\n                    int inputLength = editable.length();\n                    if (inputLength>15) {\n                        String limitedText = editable.toString().substring(0,15);\n                        editText.setText(limitedText);\n                        editText.setSelection(limitedText.length());\n                    }\n                }\n            });\n            editText.setText(取(\"开关\",\"菜单名字\"));\n            final EditText editText1=new EditText(ThisActivity);\n            editText1.setHint(Html.fromHtml(\"<font color=\\\"#A2A2A2\\\">不填则默认</font>\"));\n            editText1.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);\n            editText1.addTextChangedListener(new TextWatcher() {\n                public void beforeTextChanged(CharSequence charSequence,int i,int i1,int i2) {}\n                public void onTextChanged(CharSequence charSequence,int i,int i1,int i2) {}\n                public void afterTextChanged(Editable editable) {\n                    int inputLength = editable.length();\n                    if (inputLength>10) {\n                        String limitedText = editable.toString().substring(0,10);\n                        editText1.setText(limitedText);\n                        editText1.setSelection(limitedText.length());\n                    }\n                }\n            });\n            editText1.setText(取(\"开关\",\"菜单指令\"));\n            final EditText editText2=new EditText(ThisActivity);\n            editText2.setHint(Html.fromHtml(\"<font color=\\\"#A2A2A2\\\">不填则默认文字 1图片 2卡片</font>\"));\n            editText2.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);\n            editText2.setInputType(InputType.TYPE_CLASS_NUMBER);\n            editText2.addTextChangedListener(new TextWatcher() {\n                public void beforeTextChanged(CharSequence s,int start,int count,int after) {}\n                public void onTextChanged(CharSequence s,int start,int before,int count) {\n                    if(!s.toString().matches(\"[1-2]\")) {\n                        editText2.getText().delete(editText2.length()-1, editText2.length());\n                    }\n                }\n                public void afterTextChanged(Editable s) {}\n            });\n            editText2.setText(取(\"开关\",\"发送模式\"));\n            final EditText editText3=new EditText(ThisActivity);\n            editText3.setHint(Html.fromHtml(\"<font color=\\\"#A2A2A2\\\">请输入手机号码</font>\"));\n            editText3.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);\n            editText3.setInputType(InputType.TYPE_CLASS_NUMBER);\n            editText3.addTextChangedListener(new TextWatcher() {\n                public void beforeTextChanged(CharSequence charSequence,int i,int i1,int i2) {}\n                public void onTextChanged(CharSequence charSequence,int i,int i1,int i2) {}\n                public void afterTextChanged(Editable editable) {\n                    int inputLength = editable.length();\n                    if (inputLength>11) {\n                        String limitedText = editable.toString().substring(0,11);\n                        editText3.setText(limitedText);\n                        editText3.setSelection(limitedText.length());\n                    }\n                }\n            });\n            String phoneNumber=取(\"开关\",\"手机号码\");\n            if (phoneNumber.length() > 7) {\n                phoneNumber=phoneNumber.substring(0,3)+\"******\"+phoneNumber.substring(9);\n            }\n            editText3.setText(phoneNumber);\n            LinearLayout cy=new LinearLayout(ThisActivity);\n            cy.setOrientation(LinearLayout.VERTICAL);\n            cy.addView(tc);\n            cy.addView(editText);\n            cy.addView(tc1);\n            cy.addView(editText1);\n            cy.addView(tc2);\n            cy.addView(editText2);\n            cy.addView(tc3);\n            cy.addView(editText3);\n            tx.setTitle(Html.fromHtml(\"<font color=\\\"red\\\">配置设置</font>\"));\n            tx.setView(cy);\n            tx.setPositiveButton(Html.fromHtml(\"<font color=\\\"#893BFF\\\">确认</font>\"),new DialogInterface.OnClickListener() {\n                public void onClick(DialogInterface dialogInterface,int i) {\n                    String tx=editText.getText().toString();\n                    String tx1=editText1.getText().toString();\n                    String tx2=editText2.getText().toString();\n                    String tx3=editText3.getText().toString();\n                    boolean[] cs=xx;\n                    if(cs[0]) {\n                        存(\"开关\", \"底部时间\",\"1\");\n                    } else {\n                        存(\"开关\", \"底部时间\",null);\n                    }\n                    if(cs[1]) {\n                        存(\"开关\", \"底部文案\",\"1\");\n                    } else {\n                        存(\"开关\", \"底部文案\",null);\n                    }\n                    if(cs[2]) {\n                        存(\"开关\", \"底部尾巴\",\"1\");\n                    } else {\n                        存(\"开关\", \"底部尾巴\",null);\n                    }\n                    if(cs[3]) {\n                        存(\"开关\", \"私聊播报\",\"1\");\n                    } else {\n                        存(\"开关\", \"私聊播报\",null);\n                    }\n                    if(!tx3.equals(\"\")) {\n                        if(!tx3.contains(\"*\")) {\n                            存(\"开关\",\"手机号码\",tx3);\n                        }\n                    } else {\n                        存(\"开关\",\"手机号码\",null);\n                    }\n                    if(!tx2.equals(\"\")) {\n                        存(\"开关\",\"发送模式\",tx2);\n                    } else {\n                        存(\"开关\",\"发送模式\",null);\n                    }\n                    if(!tx1.equals(\"\")) {\n                        存(\"开关\",\"菜单指令\",tx1);\n                    } else {\n                        存(\"开关\",\"菜单指令\",null);\n                    }\n                    if(!tx.equals(\"\")) {\n                        存(\"开关\",\"菜单名字\",tx);\n                    } else {\n                        存(\"开关\",\"菜单名字\",null);\n                    }\n                    CustomToast.a(mContext,\"设置成功\");\n                }\n            });\n            tx.setNegativeButton(Html.fromHtml(\"<font color=\\\"#E3319D\\\">取消</font>\"),new DialogInterface.OnClickListener() {\n                public void onClick(DialogInterface dialogInterface,int i) {\n                }\n            });\n            tx.setMultiChoiceItems(ww,xx,new DialogInterface.OnMultiChoiceClickListener() {\n                public void onClick(DialogInterface dialogInterface,int which,boolean isChecked) {\n                    xx[which]=isChecked;\n                }\n            });\n            tx.setCancelable(false);\n            tx.show();\n        }\n    });\n}\npublic static boolean isFilePath(String str) {\n    File file = new File(str);\n    return file.exists()&&file.canRead();\n}\npublic static boolean isUUID(String str) {\n    return str != null && str.matches(\"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\");\n}\npublic static boolean isXML(String text) {\n        try {\n            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();\n            DocumentBuilder builder = factory.newDocumentBuilder();\n            Document document = builder.parse(new ByteArrayInputStream(text.getBytes(\"UTF-8\")));\n            return true;\n        } catch (Exception e) {\n            return false;\n        }\n}\npublic String getElementContent(String xmlString, String tagName) { //陌然\n    try {\n        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();\n        DocumentBuilder builder = factory.newDocumentBuilder();\n        ByteArrayInputStream input = new ByteArrayInputStream(xmlString.getBytes(\"UTF-8\"));\n        Document document = builder.parse(input);\n        NodeList elements = document.getElementsByTagName(tagName);\n        if (elements.getLength() > 0) {\n            return elements.item(0).getTextContent();\n        }\n    } catch (Exception e) {\n        e.printStackTrace();\n    }\n    return null;\n}\npublic String getElementAttribute(String xmlString, String tagName, String attributeName) {\n    try {\n        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();\n        DocumentBuilder builder = factory.newDocumentBuilder();\n        Document document = builder.parse(new ByteArrayInputStream(xmlString.getBytes(\"UTF-8\")));\n        Element element = (Element) document.getElementsByTagName(tagName).item(0);\n        if (element != null) {\n            return element.getAttribute(attributeName);\n        }\n    } catch (Exception e) {\n        e.printStackTrace();\n    }\n    return null;\n}\npublic String getElementContent(String xmlString, String elementName, String tagName) {\n    try {\n        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();\n        DocumentBuilder builder = factory.newDocumentBuilder();\n        Document document = builder.parse(new InputSource(new StringReader(xmlString)));\n        NodeList referMsgList = document.getElementsByTagName(elementName);\n        if (referMsgList.getLength() > 0) {\n            Node referMsgNode = referMsgList.item(0);\n            NodeList contentList = referMsgNode.getChildNodes();\n            for (int i = 0; i < contentList.getLength(); i++) {\n                Node contentNode = contentList.item(i);\n                if (contentNode.getNodeName().equalsIgnoreCase(tagName)) {\n                    return contentNode.getTextContent();\n                }\n            }\n        }\n    } catch (Exception e) {\n        e.printStackTrace();\n    }\n    return null;\n}\nif(!found) {\n    final Activity ThisActivity = getActivity();\n    ThisActivity.runOnUiThread(new Runnable() {\n        public void run() {\n            AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(ThisActivity, AlertDialog.THEME_DEVICE_DEFAULT_LIGHT);\n            alertDialogBuilder.setTitle(Html.fromHtml(\"<font color=\\\"red\\\">提示</font>\"));\n            TextView messageTextView = new TextView(ThisActivity);\n            messageTextView.setText(Html.fromHtml(\"<font color=\\\"#E09C4F\\\">需要加微信群才能使用，请前往网站寻找加群方法</font>\"));\n            messageTextView.setPadding(20, 20, 20, 20);\n            messageTextView.setTextSize(20);\n            alertDialogBuilder.setView(messageTextView);\n            alertDialogBuilder.setPositiveButton(Html.fromHtml(\"<font color=\\\"#893BFF\\\">前往</font>\"), new DialogInterface.OnClickListener() {\n                public void onClick(DialogInterface dialog, int which) {\n                    String url = \"https://flowus.cn/share/b8ec66db-34e7-4e9e-b134-dc783c645c8b\";\n                    Intent intent = new Intent(Intent.ACTION_VIEW);\n                    intent.setData(Uri.parse(url));\n                    ThisActivity.startActivity(intent);\n                }\n            });\n            alertDialogBuilder.setNegativeButton(Html.fromHtml(\"<font color=\\\"#893BFF\\\">取消</font>\"), new DialogInterface.OnClickListener() {\n                public void onClick(DialogInterface dialog, int which) {\n                    dialog.cancel();\n                }\n            });\n            AlertDialog alertDialog = alertDialogBuilder.create();\n            alertDialog.setCanceledOnTouchOutside(false);\n            alertDialog.show();\n        }\n    });\n}\nimport Hook.JiuWu.Xp.tools.HostInfo;\npublic String getStatus(String qun,String key) {\n    return \"1\".equals(取(qun,key))?\"关闭\"+key+\"[√]\":\"开启\"+key+\"[×]\";\n}\npublic void 菜单(Object data) {\n    String text=data.content;\n    String qun=data.talker;\n    String wxid=data.sendTalker;\n    File 代管=new File(JavaPath+\"/数据/\"+qun+\"/代管.txt\");\n    if(!代管.getParentFile().exists()) {\n        代管.getParentFile().mkdirs();\n        if(!代管.exists()) {\n            代管.createNewFile();\n        }\n    }\n    if(!取(qun,\"智能回复\").equals(\"1\")||data.talkerType==0&&取(\"开关\",\"智能回复\").equals(\"1\")) {\n        if(mWxid.equals(wxid)||简读用户(代管,wxid)) {\n            开关(data);\n            代管(data);\n        }\n        if(\"1\".equals(getString(qun,\"艾特回复\",\"\"))) {\n            艾特(data);\n        }\n        String 菜单限制=data.sendTalker;\n        if(\"1\".equals(取(qun,\"菜单限制\"))) {\n            菜单限制=mWxid;\n        }\n        if(菜单限制.equals(wxid)) {\n            总结(data);\n            报时(data);\n            简报(data);\n            if(\"1\".equals(getString(qun,\"自动回复\",\"\"))) {\n                回复2(data);\n            }\n            if(\"1\".equals(getString(qun,\"头像制作\",\"\"))) {\n                头像(data);\n            }\n            if(\"1\".equals(getString(qun,\"作图系统\",\"\"))) {\n                作图(data);\n            }\n            if(\"1\".equals(getString(qun,\"智能系统\",\"\"))) {\n                智能(data);\n            }\n            if(\"1\".equals(getString(qun,\"音乐系统\",\"\"))) {\n                音乐(data);\n            }\n            if(\"1\".equals(getString(qun,\"图片系统\",\"\"))) {\n                图片(data);\n            }\n            if(\"1\".equals(getString(qun,\"搜索功能\",\"\"))) {\n                搜索(data);\n            }\n            if(\"1\".equals(getString(qun,\"视频系统\",\"\"))) {\n                视频(data);\n            }\n            if(\"1\".equals(getString(qun,\"词条系统\",\"\"))) {\n                词条(data);\n            }\n            if(\"1\".equals(getString(qun,\"查询系统\",\"\"))) {\n                查询(data);\n            }\n            if(\"1\".equals(getString(qun,\"解析系统\",\"\"))) {\n                解析(data);\n            }\n            if(\"1\".equals(getString(qun,\"娱乐系统\",\"\"))) {\n                娱乐(data);\n            }\n            if(\"1\".equals(getString(qun,\"站长系统\",\"\"))) {\n                站长(data);\n            }\n            if(!\"1\".equals(取(qun,\"菜单屏蔽\"))) {\n                String 菜单=\"菜单\";\n                if(!取(\"开关\",\"菜单指令\").equals(\"\")) {\n                    菜单=取(\"开关\",\"菜单指令\");\n                }\n                if(\"1\".equals(getString(\"开关\",\"简洁模式\",\"\"))) {\n                    if(text.equals(菜单)) {\n                        String c=\"☆音乐系统☆智能系统☆\\n\"\n                                +\"☆配置设置☆图片系统☆\\n\"\n                                +\"☆开关系统☆底部样式☆\\n\"\n                                +\"☆搜索功能☆开关设置☆\\n\"\n                                +\"☆版本信息☆第二菜单☆\";\n                        sendm(qun,c);\n                   }\n                   if(text.equals(\"第二菜单\")) {\n                       String c=\"☆自身撤回☆查询系统☆\\n\"\n                                +\"☆视频系统☆解析系统☆\\n\"\n                                +\"☆艾特回复☆进群欢迎☆\\n\"\n                                +\"☆发送模式☆词条系统☆\\n\"\n                                +\"☆每日简报☆第三菜单☆\";\n                       sendm(qun,c);\n                   }\n                   if(text.equals(\"第三菜单\")) {\n                       String c=\"☆整点报时☆站长系统☆\\n\"\n                                +\"☆娱乐系统☆代管系统☆\\n\"\n                                +\"☆作图系统☆自动回复☆\\n\"\n                                +\"☆头像制作☆环球时报☆\\n\"\n                                +\"☆每日总结☆敬请期待☆\";\n                       sendm(qun,c);\n                   }\n                } else {\n                    if(text.equals(菜单)) {\n                        String c=\"☆音乐系统☆智能系统☆\\n\"\n                                +\"☆配置设置☆图片系统☆\\n\"\n                                +\"☆开关系统☆底部样式☆\\n\"\n                                +\"☆搜索功能☆开关设置☆\\n\"\n                                +\"☆版本信息☆自身撤回☆\\n\"\n                                +\"☆视频系统☆解析系统☆\\n\"\n                                +\"☆艾特回复☆进群欢迎☆\\n\"\n                                +\"☆发送模式☆词条系统☆\\n\"\n                                +\"☆每日简报☆查询系统☆\\n\"\n                                +\"☆整点报时☆站长系统☆\\n\"\n                                +\"☆娱乐系统☆代管系统☆\\n\"\n                                +\"☆作图系统☆自动回复☆\\n\"\n                                +\"☆头像制作☆环球时报☆\\n\"\n                                +\"☆每日总结☆敬请期待☆\";\n                        sendm(qun,c);\n                   }\n                }\n                if(text.equals(\"头像制作\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆引用+透明头像\\n\"\n                             +\"☆引用+透明头像2\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"自动回复\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆添加精确回复 触发|回复\\n\"\n                             +\"☆添加模糊回复 触发|回复\\n\"\n                             +\"☆查看精确回复\\n\"\n                             +\"☆查看模糊回复\\n\"\n                             +\"☆清空精确回复\\n\"\n                             +\"☆清空模糊回复\\n\"\n                             +\"☆清空全部回复\\n\\n\"\n                             +\"回复支持以下额外格式\\n\"\n                             +\"测试|[$€]\\n\"\n                             +\"$=图片/访问/语音\\n\"\n                             +\"€=链接/目录\\n\"\n                             +\"Tips:[访问≠目录]\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"作图系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆引用+丢\\n\"\n                             +\"☆引用+舔\\n\"\n                             +\"☆引用+摸摸\\n\"\n                             +\"☆引用+啾啾\\n\"\n                             +\"☆引用+老婆\\n\"\n                             +\"☆引用+陪睡\\n\"\n                             +\"☆引用+咖波咬\\n\"\n                             +\"☆引用+玉兔捣药\\n\"\n                             +\"☆引用+将军出征\\n\"\n                             +\"☆引用+透明头像\\n\"\n                             +\"☆引用+透明头像2\\n\"\n                             +\"☆引用+咖波顶呱呱\\n\"\n                             +\"☆引用+咖波拍西瓜\\n\"\n                             +\"☆引用+要我一直吗\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"站长系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆访问+链接\\n\"\n                             +\"☆下载+链接\\n\"\n                             +\"☆JSON+数据\\n\"\n                             +\"☆重定向+链接\\n\"\n                             +\"☆网站截图+链接\\n\"\n                             +\"☆文件转链接+目录\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"代管系统\")) {\n                    String c=\"☆引用+添加代管\\n\"\n                             +\"☆引用+删除代管\\n\"\n                             +\"☆代管列表\\n\"\n                             +\"☆清空代管\";\n                    sendm(qun,c);\n                }\n                if(text.equals(\"娱乐系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆签到\\n\"\n                             +\"☆开启/关闭\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"解析系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆视频解析+链接\\n\"\n                             +\"☆音乐解析+链接\\n\"\n                             +\"☆VIP视频解析+链接\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"查询系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆天气+地区\\n\"\n                             +\"☆百科+内容\\n\"\n                             +\"☆今日油价+省级\\n\"\n                             +\"☆菜谱查询+名称\\n\"\n                             +\"☆宠物查询+名称\\n\"\n                             +\"☆王者战力+英雄\\n\"\n                             +\"☆扩展名查询+名称\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"词条系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆疯狂星期四☆毒鸡汤☆\\n\"\n                             +\"☆朋友圈文案☆彩虹屁☆\\n\"\n                             +\"☆动画文案☆漫画文案☆\\n\"\n                             +\"☆游戏文案☆文学文案☆\\n\"\n                             +\"☆原创文案☆网络文案☆\\n\"\n                             +\"☆其他文案☆影视文案☆\\n\"\n                             +\"☆诗词文案☆哲学文案☆\\n\"\n                             +\"☆网易文案☆机灵文案☆\\n\"\n                             +\"☆舔狗日记☆\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"发送模式\")) {\n                    String 发送模式=\"文字\";\n                    if(\"1\".equals(取(\"开关\",\"发送模式\"))) {\n                        发送模式=\"图片\";\n                    } else if(\"2\".equals(取(\"开关\",\"发送模式\"))) {\n                        发送模式=\"卡片\";\n                    }\n                    String 简洁模式=\"×\";\n                    if(\"1\".equals(getString(\"开关\",\"简洁模式\",\"\"))) {\n                        简洁模式=\"√\";\n                    }\n                    String c=\"当前模式是[\"+发送模式+\"]发送\\n\"\n                             +\"☆切换文字发送\\n\"\n                             +\"☆切换图片发送\\n\"\n                             +\"☆切换卡片发送\\n\"\n                             +\"☆开启/关闭简洁模式[\"+简洁模式+\"]\";\n                    sendm(qun,c);\n                }\n                if(text.equals(\"艾特回复\")) {\n                    String f=getStatus(qun,text);\n                    String 回复类型=\"内容\";\n                    if(\"1\".equals(getString(qun,\"回复类型\",\"\"))) {\n                        回复类型=\"智能\";\n                    }\n                    String c=\"☆设置回复+内容\\n\"\n                             +\"☆重置回复内容\\n\"\n                             +\"☆查看回复内容\\n\"\n                             +\"☆查看回复变量\\n\\n\"\n                             +\"当前模式是[\"+回复类型+\"]回复\\n\"\n                             +\"☆切换内容回复\\n\"\n                             +\"☆切换智能回复\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"进群欢迎\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆设置进群欢迎+内容\\n\"\n                             +\"☆查看进群欢迎内容\\n\"\n                             +\"☆重置进群欢迎内容\\n\"\n                             +\"☆查看进群欢迎变量\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                    if(text.equals(\"整点报时\")) {\n                        String f=getStatus(qun,text);\n                        String c=\"☆报时\\n\"\n                                 +\"整点自动发送播报\\n\"\n                                 +\"目前仅支持群使用\\n\"\n                                 +\"☆\"+f;\n                        sendm(qun,c);\n                    }\n                    if(text.equals(\"每日简报\")) {\n                        String f=getStatus(qun,text);\n                        String c=\"☆简报\\n\"\n                                 +\"早上九点自动发送\\n\"\n                                 +\"目前仅支持群使用\\n\"\n                                 +\"☆\"+f;\n                        sendm(qun,c);\n                    }\n                    if(text.equals(\"每日总结\")) {\n                        String f=getStatus(qun,text);\n                        String c=\"☆一键总结\\n\"\n                                 +\"☆追问+问题\\n\"\n                                 +\"☆清空总结内容\\n\"\n                                 +\"需要绑定智能系统\\n\"\n                                 +\"晚上八点自动总结\\n\"\n                                 +\"目前仅支持群使用\\n\"\n                                 +\"☆\"+f;\n                        sendm(qun,c);\n                    }\n                    if(text.equals(\"环球时报\")) {\n                        String f=getStatus(qun,text);\n                        String c=\"早上九点自动发送\\n\"\n                                 +\"目前仅支持群使用\\n\"\n                                 +\"☆\"+f;\n                        sendm(qun,c);\n                    }\n                if(text.equals(\"视频系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆随机小世界\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"自身撤回\")) {\n                    String f=getStatus(qun,text);\n                    int 撤回时间=30;\n                    if(getInt(qun,\"撤回时间\",0)!=null) {\n                        撤回时间=getInt(qun,\"撤回时间\",30);\n                    }\n                    String c=\"☆设置撤回时间+数字\\n\"\n                             +\"当前撤回时间:\"+撤回时间+\"秒\\n\"\n                             +\"时间不得超过110秒\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"版本信息\")) {\n                    String version=yun.optString(\"version\");\n                    File folder=new File(JavaPath);\n                    long 结束加载=data.createTime;\n                    String formattedSize=getFormattedSize(folder);\n                    String c=\"脚本昵称:\"+脚本名称+\"\\n\"\n                             +\"脚本作者:\"+脚本作者+\"\\n\"\n                             +\"最新版本:\"+version+\"\\n\"\n                             +\"当前版本:\"+当前版本+\"\\n\"\n                             +\"微信版本:\"+VersionName(mContext)+\"(\"+VersionCode(mContext)+\")\\n\"\n                             +\"模块版本:\"+VersionName(HostInfo.getModuleContext())+\"\\n\"\n                             +\"账号昵称:\"+getName(mWxid)+\"\\n\"\n                             +\"目录大小:\"+formattedSize+\"\\n\"\n                             +\"运行时长:\"+formatTime((float)(结束加载-开始加载))+\"\\n\"\n                             +\"更新时间:\"+更新时间;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"搜索功能\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆搜索影视+片名\\n\"\n                             +\"☆搜索图片+内容\\n\"\n                             +\"☆搜索内容+内容\\n\"\n                             +\"☆搜索应用+名称\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"音乐系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆点歌+歌名\\n\"\n                             +\"☆QQ点歌+歌名\\n\"\n                             +\"☆网易点歌+歌名\\n\"\n                             +\"☆酷狗点歌+歌名\\n\"\n                             +\"☆抖音点歌+歌名\\n\"\n                             +\"☆酷我点歌+歌名\\n\"\n                             +\"☆波点点歌+歌名\\n\"\n                             +\"☆喜马拉雅+歌名\\n\"\n                             +\"☆种子点歌+歌名\\n\"\n                             +\"☆咪咕点歌+歌名\\n\"\n                             +\"☆千变语音+歌名\\n\"\n                             +\"☆酷狗铃声+歌名\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"图片系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆七濑胡桃☆方形头像☆\\n\"\n                             +\"☆原神竖图☆原神横图☆\\n\"\n                             +\"☆萌版竖图☆萌版横图☆\\n\"\n                             +\"☆移动竖图☆白底横图☆\\n\"\n                             +\"☆风景横图☆风景横图☆\\n\"\n                             +\"☆诱惑图☆猫咪图☆\\n\"\n                             +\"☆买家秀☆兽猫酱☆\\n\"\n                             +\"☆帅哥图☆小清新☆\\n\"\n                             +\"☆动漫图☆看汽车☆\\n\"\n                             +\"☆看炫酷☆美女图☆\\n\"\n                             +\"☆风景图☆看腹肌☆\\n\"\n                             +\"☆萌宠图☆原神图☆\\n\"\n                             +\"☆看黑丝☆看白丝☆\\n\"\n                             +\"☆小狐狸☆\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"开关系统\")) {\n                    String f0=getStatus(qun,\"环球时报\");\n                    String f1=getStatus(qun,\"头像制作\");\n                    String f2=getStatus(qun,\"自动回复\");\n                    String f3=getStatus(qun,\"作图系统\");\n                    String f4=getStatus(qun,\"站长系统\");\n                    String f5=getStatus(qun,\"热搜系统\");\n                    String f6=getStatus(qun,\"娱乐系统\");\n                    String f7=getStatus(qun,\"每日简报\");\n                    String f8=getStatus(qun,\"整点报时\");\n                    String f9=getStatus(qun,\"解析系统\");\n                    String f10=getStatus(qun,\"查询系统\");\n                    String f11=getStatus(qun,\"音乐系统\");\n                    String f12=getStatus(qun,\"图片系统\");\n                    String f13=getStatus(qun,\"智能系统\");\n                    String f14=getStatus(qun,\"搜索功能\");\n                    String f15=getStatus(qun,\"自身撤回\");\n                    String f16=getStatus(qun,\"视频系统\");\n                    String f17=getStatus(qun,\"艾特回复\");\n                    String f18=getStatus(qun,\"词条系统\");\n                    String f19=getStatus(qun,\"菜单限制\");\n                    String f20=getStatus(qun,\"菜单屏蔽\");\n                    String f21=getStatus(qun,\"进群欢迎\");\n                    String f22=getStatus(qun,\"每日总结\");\n                    String c=\"☆\"+f0+\"\\n\"\n                             +\"☆\"+f1+\"\\n\"\n                             +\"☆\"+f2+\"\\n\"\n                             +\"☆\"+f3+\"\\n\"\n                             +\"☆\"+f4+\"\\n\"\n                             +\"☆\"+f5+\"\\n\"\n                             +\"☆\"+f6+\"\\n\"\n                             +\"☆\"+f7+\"\\n\"\n                             +\"☆\"+f8+\"\\n\"\n                             +\"☆\"+f9+\"\\n\"\n                             +\"☆\"+f10+\"\\n\"\n                             +\"☆\"+f11+\"\\n\"\n                             +\"☆\"+f12+\"\\n\"\n                             +\"☆\"+f13+\"\\n\"\n                             +\"☆\"+f14+\"\\n\"\n                             +\"☆\"+f15+\"\\n\"\n                             +\"☆\"+f16+\"\\n\"\n                             +\"☆\"+f17+\"\\n\"\n                             +\"☆\"+f18+\"\\n\"\n                             +\"☆\"+f19+\"\\n\"\n                             +\"☆\"+f20+\"\\n\"\n                             +\"☆\"+f21+\"\\n\"\n                             +\"☆\"+f22+\"\\n\"\n                             +\"☆开启/关闭全部功能\\n\"\n                             +\"☆所有群设置\";\n                    sendm(qun,c);\n                }\n                if(text.equals(\"底部样式\")) {\n                    String 底部时间=\"×\";\n                    String 底部文案=\"×\";\n                    String 底部尾巴=\"×\";\n                    if(\"1\".equals(getString(\"开关\",\"底部时间\",\"\"))) {\n                        底部时间=\"√\";\n                    }\n                    if(\"1\".equals(getString(\"开关\",\"底部文案\",\"\"))) {\n                        底部文案=\"√\";\n                    }\n                    if(\"1\".equals(getString(\"开关\",\"底部尾巴\",\"\"))) {\n                        底部尾巴=\"√\";\n                    }\n                    String c=\"☆开启/关闭底部时间[\"+底部时间+\"]\\n\"\n                             +\"☆开启/关闭底部文案[\"+底部文案+\"]\\n\"\n                             +\"☆开启/关闭底部尾巴[\"+底部尾巴+\"]\\n\"\n                             +\"☆设置底部内容+内容\";\n                    sendm(qun,c);\n                }\n                if(text.equals(\"智能系统\")) {\n                    String f=getStatus(qun,text);\n                    String Token=\"已绑定\";\n                    String 手机号码=\"已绑定\";\n                    String 智能回复=\"\";\n                    if(取(\"开关\",\"accessToken\").equals(\"\")) {\n                        Token=\"未绑定\";\n                    }\n                    if(取(\"开关\",\"手机号码\").equals(\"\")) {\n                        手机号码=\"未绑定\";\n                    }\n                    if(data.isText()&&data.talkerType==0) {\n                        智能回复=\" -------------------------\\n\"\n                                     +\"☆开启/关闭智能回复\\n\"\n                                     +\"开启后消息将会用AI回复\\n\"\n                                     +\"并且其他功能将无法使用\\n\"\n                                     +\" -------------------------\\n\";\n                    }\n                    String c=\"☆AI+问题\\n\"\n                             +\"☆重新绑定\\n\"\n                             +\"☆重置对话\\n\"\n                             +\"☆我的智能体\\n\"\n                             +\"☆搜索智能体+内容\\n\"\n                             +\"☆查看智能体\\n\"\n                             +\"☆重置智能体\\n\"\n                             +智能回复\n                             +\"发送[配置设置]绑定手机号\\n\"\n                             +\"☆手机状态:\"+手机号码+\"\\n\"\n                             +\"☆获取验证码\\n\"\n                             +\"然后发送[验证码]即可绑定\\n\"\n                             +\"☆清除绑定状态\\n\"\n                             +\"☆绑定状态:\"+Token+\"\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n            }\n        }\n    }\n}","backgroundColor":"","textColor":"","data":{"format":{"language":"Java"},"segments":[{"text":"public static double ParseString(String version) {\n    String[] parts = version.split(\"\\\\.\");\n    double result = 0;\n    for (int i = 0; i < parts.length; i++) {\n        String numericPart = parts[i].replaceAll(\"[^0-9]\", \"\");\n        if (!numericPart.isEmpty()) {\n            int value = Integer.parseInt(numericPart);\n            result += value * Math.pow(10, (parts.length - i - 1));\n        }\n    }\n    return result;\n}\n\npublic int getDuration(String source) {\n    MediaMetadataRetriever retriever=new MediaMetadataRetriever();\n    try {\n        if(isUrl(source)) {\n            URL url=new URL(source);\n            retriever.setDataSource(url.toString());\n        } else if(isFilePath(source)) {\n            retriever.setDataSource(source);\n        } else {\n            return 1;\n        }\n        String time=retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);\n        return Integer.parseInt(time);\n    } catch (Exception e) {\n        e.printStackTrace();\n        return 1;\n    }\n}\npublic static void SendReply(long msgId, String qun, String text) {\n    double version=ParseString(VersionName(HostInfo.getModuleContext()));\n    double ber=ParseString(\"3.5.5\");\n    if(version>=ber) {\n        sendReply(msgId,qun,text);\n    } else {\n        sendTextCard(qun,text);\n    }\n}\npublic static String multi(String str) {\n    String result=post(\"https://suo.yt/short\",\"longUrl=\"+str+\"&shortKey=\");\n    try {\n        JSONObject json=new JSONObject(result);\n        Integer status=json.getInt(\"Code\");\n        if(status==1) {\n            String url=json.getString(\"ShortUrl\");\n            return url;\n        }\n        return str;\n    } catch (Throwable th) {\n        return str;\n    }\n}\npublic static long timeUntilNext(int unit, int type) {\n    LocalDateTime now=LocalDateTime.now();\n    LocalDateTime targetTime;\n    switch (unit) {\n    case 1: // 周//剩天\n        targetTime=now.withHour(0).withMinute(0).withSecond(0).withNano(0).plusWeeks(1);\n        break;\n    case 2: // 天/剩时\n        targetTime=now.withHour(0).withMinute(0).withSecond(0).withNano(0).plusDays(1);\n        break;\n    case 3: // 时/剩分\n        targetTime=now.withMinute(0).withSecond(0).withNano(0).plusHours(1);\n        break;\n    case 4: // 分/剩秒\n        targetTime=now.withSecond(0).withNano(0).plusMinutes(1);\n        break;\n    default:\n        targetTime=now.withSecond(0).withNano(0).plusMinutes(1);\n    }\n    Duration duration=Duration.between(now, targetTime);\n    switch (type) {\n    case 1: // 周/剩天\n        return duration.toDays()/7;\n    case 2: // 天/剩时\n        return duration.toHours();\n    case 3: // 时/剩分\n        return duration.toMinutes();\n    case 4: // 分/剩秒\n        return duration.getSeconds();\n    default:\n        return duration.getSeconds();\n    }\n}\npublic static String VersionName(Context context) {\n    try {\n        return context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName;\n    } catch (Exception e) {\n        e.printStackTrace();\n        return \"\";\n    }\n}\npublic static int VersionCode(Context context) {\n    try {\n        return context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionCode;\n    } catch (Exception e) {\n        e.printStackTrace();\n        return -1;\n    }\n}\npublic static String AudioToSilk(String url) {\n    if(!url.contains(\".silk\")) {\n        String result=post(\"https://oiapi.net/API/Mp32Silk\",\"url=\"+URLEncoder.encode(url,\"UTF-8\"));\n        try {\n            JSONObject json=new JSONObject(result);\n            Integer code=json.getInt(\"code\");\n            if(code==1) {\n                String message=json.getString(\"message\");\n                return message;\n            } else {\n                return \"\";\n            }\n        } catch(e) {\n            return \"\";\n        }\n    }\n    return url;\n}\npublic static String formatTime(float time) {\n    String suffix=\"豪秒\";\n    long seconds=(long)(time/1000);\n    String tr=seconds/3600+\"时\"+(seconds%3600)/60+\"分\"+seconds%3600%60%60+\"秒\";\n    tr=tr.replace(\"分0秒\",\"分\");\n    tr=tr.replace(\"时0分\",\"时\");\n    tr=tr.replace(\"0时\",\"\");\n    return tr;\n}\npublic static HashMap 地图=new HashMap();\npublic class 检查 {\n    String 名称;\n    JSONArray 数组;\n    JSONArray 数据=new JSONArray();\n    long 时间;\n    int 数量;\n}\nActivity ThisActivity = null;\npublic void initActivity() {\n    ThisActivity = getActivity();\n}\npublic void ts(String Title, String Content) {\n    initActivity();\n    ThisActivity.runOnUiThread(new Runnable() {\n        public void run() {\n            AlertDialog alertDialog = new AlertDialog.Builder(ThisActivity,AlertDialog.THEME_DEVICE_DEFAULT_LIGHT).create();\n            alertDialog.setTitle(Title);\n            alertDialog.setMessage(Content);\n            alertDialog.setCancelable(false);\n            alertDialog.setButton(DialogInterface.BUTTON_NEGATIVE, \"确定\", new DialogInterface.OnClickListener() {\n                public void onClick(DialogInterface dialog, int which) {}\n            });\n            alertDialog.show();\n        }\n    });\n}\npublic class CustomToast {\n    private static Toast toast;\n    private static Handler handler = new Handler(Looper.getMainLooper());\n    public static void a(Context context,String str) {\n        handler.post(new Runnable() {\n            public void run() {\n                if (toast != null) {\n                    toast.cancel();\n                }\n                TextView textView = new TextView(context);\n                textView.setBackground(n4(\"#181818\", \"#FFFFFF\", 0, 10)); // 设置背景\n                textView.setPadding(30, 30, 30, 30);\n                textView.setTextColor(android.graphics.Color.WHITE); // 设置文本颜色为白色\n                textView.setGravity(Gravity.CENTER); // 设置文本居中\n                textView.setText(\"[YunJava]\\n\" + str); // 设置文本内容\n                toast = new Toast(context.getApplicationContext());\n                toast.setGravity(Gravity.CENTER, 0, 0); // 设置Toast显示位置为屏幕中央\n                toast.setDuration(Toast.LENGTH_LONG); // 设置Toast显示时长\n                toast.setView(textView); // 设置Toast的视图\n                toast.show(); // 显示Toast\n            }\n        });\n    }\n    public static android.graphics.drawable.GradientDrawable n4(String str, String str2, int i, int i2) {\n        android.graphics.drawable.GradientDrawable gradientDrawable = new android.graphics.drawable.GradientDrawable();\n        gradientDrawable.setColor(android.graphics.Color.parseColor(str));\n        gradientDrawable.setStroke(i, android.graphics.Color.parseColor(str2));\n        gradientDrawable.setCornerRadius(i2);\n        gradientDrawable.setAlpha(130);\n        gradientDrawable.setShape(android.graphics.drawable.GradientDrawable.RECTANGLE); // 设置形状为矩形\n        return gradientDrawable;\n    }\n}\npublic static String FileFormatConversion(long sizeInBytes) {\n    double sizeInKB=sizeInBytes / 1024.0; // 文件夹大小（KB）\n    DecimalFormat decimalFormat=new DecimalFormat(\"#.###\");\n    if (sizeInKB < 1024) {\n        return decimalFormat.format(sizeInKB) + \"KB\";\n    } else if (sizeInKB < 1024 * 1024) {\n        double sizeInMB=sizeInKB / 1024.0; // 文件夹大小（MB）\n        return decimalFormat.format(sizeInMB) + \"MB\";\n    } else {\n        double sizeInGB=sizeInKB / (1024.0 * 1024.0); // 文件夹大小（GB）\n        return decimalFormat.format(sizeInGB) + \"GB\";\n    }\n}\nint 选择=0;\npublic void 存(String a,String b,String c) {\n    putString(a,b,c);\n}\npublic String 取(String a,String b) {\n    return getString(a,b,\"\");\n}\npublic static long getDirectorySize(File dir) {\n    if (dir == null || !dir.isDirectory()) {\n       return 0;\n    }\n    long size = 0;\n    File[] files = dir.listFiles();\n    if (files != null) {\n        for (File file : files) {\n            if (file.isFile()) {\n                size += file.length();\n            } else if (file.isDirectory()) {\n                 size += getDirectorySize(file); // 递归调用\n            }\n        }\n    }\n    return size;\n}\nboolean flag=false;\npublic List list=new ArrayList();\npublic static void DetectPic() {\n    try {\n        File dir = new File(JavaPath+\"/数据/底图/\");\n        if(!dir.exists()||getDirectorySize(dir)==0) {\n            dir.mkdirs();\n            Downloadpic(-1);\n        } else {\n            for(int i=0; i<10; i++) {\n                String fi=JavaPath+\"/数据/底图/底图\"+i+\".jpg\";\n                File di = new File(fi);\n                if(!di.exists()) {\n                    Downloadpic(i);\n                    if(list.contains(fi)) {\n                        list.remove(fi);\n                    }\n                }\n            }\n        }\n    } catch(Exception e) {\n        e.printStackTrace();\n    }\n}\npublic static void Downloadpic(int j) {\n    String url=\"https://api.miaomc.cn/image/get\";\n    if(j==-1) {\n        flag=true;\n        CustomToast.a(mContext,\"底图正在缓存,请稍后\");\n        for(int i=0; i<10; i++) {\n            try {\n                xz(url,JavaPath+\"/数据/底图/底图\"+i+\".jpg\");\n                if(i==9) {\n                    flag=false;\n                    CustomToast.a(mContext,\"底图缓存成功\");\n                }\n            } catch (Exception e) {\n                e.printStackTrace();\n            }\n        }\n    } else {\n        try {\n            xz(url,JavaPath+\"/数据/底图/底图\"+j+\".jpg\");\n        } catch (Exception e) {\n            e.printStackTrace();\n        }\n    }\n}\npublic static void getData(String qun,String text) {\n    if(flag) {\n        sendMsg(qun,text);\n        CustomToast.a(mContext,\"底图缓存中，暂时切换文字发送\");\n        return;\n    }\n    String textface=JavaPath+\"/数据/字体.ttf\";\n    File ff=new File(textface);\n    if(!ff.exists()) {\n        String url=\"https://sfile.chatglm.cn/chatglm4/b55e86e7-3343-443c-a73d-36640717c9cf.ttf\";\n        sendMsg(qun,text);\n        CustomToast.a(mContext,\"字体下载中，暂时切换文字发送\");\n        xz(url,textface);\n        CustomToast.a(mContext,\"字体下载完成\");\n        return;\n    }\n    int num=(int)(Math.random()*10);\n    String Path=JavaPath+\"/数据/底图/底图\"+num+\".jpg\";\n    File directory = new File(Path);\n    while(!directory.exists()) {\n        DetectPic();\n        num=(int)(Math.random()*10);\n        Path=JavaPath+\"/数据/底图/底图\"+num+\".jpg\";\n    }\n    if(!list.contains(Path)) {\n        try {\n            long directorySize = directory.length();\n            if (directorySize == 0) {\n                getData(qun,text);\n                delAllFile(directory,1);\n                list.add(Path);\n                DetectPic();\n                return;\n            }\n            sendPic(qun,MakeTextPhoto(text,Path));\n            delAllFile(directory,1);\n            list.add(Path);\n            DetectPic();\n        } catch(Exception e) {\n            CustomToast.a(mContext,\"底图\"+num+\"错误,已删除并重新回调\");\n            delAllFile(directory,1);\n            getData(qun,text);\n            return;\n        }\n    } else {\n        CustomToast.a(mContext,\"太快了,请慢点\");\n        getData(qun,text);\n    }\n}\npublic static String fetchRedirectUrl(String url) {\n    try {\n        HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();\n        conn.setInstanceFollowRedirects(false);\n        conn.setConnectTimeout(5000);\n        return conn.getHeaderField(\"Location\");\n    } catch (Exception e) {\n        e.printStackTrace();\n        return \"\";\n    }\n}\npublic final class MY {\n    private final static String DES = \"DES\";\n    public static String JM(String src, String key) {\n        try {\n            return new String(JM(hex2byte(src.getBytes()), key.getBytes()));\n        } catch (Exception e)\n        {}\n        return null;\n    }\n    private static byte[] JM(byte[] src, byte[] key) throws Exception {\n        SecureRandom sr = new SecureRandom();\n        DESKeySpec dks = new DESKeySpec(key);\n        SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(DES);\n        SecretKey securekey = keyFactory.generateSecret(dks);\n        Cipher cipher = Cipher.getInstance(DES);\n        cipher.init(Cipher.DECRYPT_MODE, securekey, sr);\n        return cipher.doFinal(src);\n    }\n    private static byte[] hex2byte(byte[] b) {\n        if((b.length % 2) != 0) throw new IllegalArgumentException(\"长度不是偶数\");\n        byte[] b2 = new byte[b.length / 2];\n        for(int n = 0; n < b.length; n += 2) {\n            String item = new String(b, n, 2);\n            b2[n / 2] = (byte) Integer.parseInt(item, 16);\n        }\n        return b2;\n    }\n    private static String byte2hex(byte[] b) {\n        String hs = \"\";\n        String stmp = \"\";\n        for(int n = 0; n < b.length; n++) {\n            stmp = (java.lang.Integer.toHexString(b[n] & 0XFF));\n            if(stmp.length() == 1) hs = hs + \"0\" + stmp;\n            else hs = hs + stmp;\n        }\n        return hs.toUpperCase();\n    }\n}\npublic static void xz(String url,String filepath) throws Exception {\n    InputStream input = null;\n    File file=new File(filepath);\n    if(!file.getParentFile().exists()) {\n        file.getParentFile().mkdirs();\n        if(!file.exists()) {\n            file.createNewFile();\n        }\n    }\n    try {\n        URL urlsssss = new URL(url);\n        HttpURLConnection urlConn = (HttpURLConnection) urlsssss.openConnection();\n        input = urlConn.getInputStream();\n        byte[] bs = new byte[1024];\n        int len;\n        FileOutputStream out = new FileOutputStream(filepath, false);\n        while((len = input.read(bs)) != -1) {\n            out.write(bs, 0, len);\n        }\n        out.close();\n        input.close();\n\n    } catch (IOException e) {\n        return;\n    } finally {\n        try {\n            input.close();\n        } catch (IOException e) {\n            e.printStackTrace();\n        }\n    }\n    return;\n}\nprivate static void downloadFile(String url, String outputPath) throws IOException {\n        InputStream input = null;\n        FileOutputStream output = null;\n        try {\n            URL urls = new URL(url);\n            HttpURLConnection urlConn = (HttpURLConnection) urls.openConnection();\n            input = urlConn.getInputStream();\n            output = new FileOutputStream(outputPath);\n\n            byte[] bs = new byte[1024];\n            int len;\n            while ((len = input.read(bs)) != -1) {\n                output.write(bs, 0, len);\n            }\n        } finally {\n            if (output != null) {\n                output.close();\n            }\n            if (input != null) {\n                input.close();\n            }\n        }\n    }\n\nprivate MediaPlayer mediaPlayer;\npublic void 提示音(Context context, String pathOrUrl) {\n        if (mediaPlayer == null) {\n            mediaPlayer = new MediaPlayer();\n        }\n        try {\n            mediaPlayer.reset();\n            if (isFilePath(pathOrUrl)) {\n                mediaPlayer.setDataSource(pathOrUrl);\n            } else {\n                Uri uri = Uri.parse(pathOrUrl);\n                mediaPlayer.setDataSource(context, uri);\n            }\n            mediaPlayer.prepare();\n            mediaPlayer.start();\n        } catch (Exception e) {\n            e.printStackTrace();\n            releaseMediaPlayer();\n        }\n    }\npublic void releaseMediaPlayer() {\n    if (mediaPlayer != null) {\n        try {\n            if (mediaPlayer.isPlaying()) {\n                mediaPlayer.stop();\n            }\n            mediaPlayer.release();\n        } catch (Exception ex) {\n            ex.printStackTrace();\n        }\n        mediaPlayer = null;\n    }\n}\nString AuthorWxid=\"wxid_tasn67ogsmw821\";\nif(!脚本作者.equals(\"老小子\")){\nToast(\"无权使用老小子脚本\");\nThread.sleep(99999999);}\npublic static String MakeTextPhoto(String text,String pic) {\n    String textface=JavaPath+\"/数据/字体.ttf\";\n    Object typeface;\n    try {\n        typeface=Typeface.createFromFile(textface);\n    } catch(e) {\n        typeface=Typeface.DEFAULT_BOLD;\n    }\n    text=text.replace(\"[]\",\"\");\n    String[] word=text.split(\"\\n\");\n    float textsize=65.0f;\n    float padding=55.0f;\n    Paint paint=new Paint(Paint.ANTI_ALIAS_FLAG | Paint.DITHER_FLAG);\n    paint.setTypeface(typeface);\n    paint.setTextSize(textsize);\n    Bitmap mybitmap;\n    if(isFilePath(pic)) {\n        mybitmap=BitmapFactory.decodeFile(pic);\n    } else {\n        URL imageUrl=new URL(pic);\n        HttpURLConnection con=(HttpURLConnection)imageUrl.openConnection();\n        con.setDoInput(true);\n        con.connect();\n        InputStream input=con.getInputStream();\n        mybitmap=BitmapFactory.decodeStream(input);\n    }\n    float text_width=0;\n    float average_width=0;\n    float text_height=0;\n    String newword=\"\";\n    for(String line:word) {\n        average_width +=paint.measureText(line);\n    }\n    average_width=average_width/word.length;\n    for(String line:word) {\n        float width=paint.measureText(line);\n        if(width-average_width>700) {\n            int rr=Math.ceil(width/average_width);\n            int cut=Math.ceil(line.length()/rr);\n\n            line=splitString(line,cut);\n            for(String newl:line.split(\"\\n\")) {\n                width=paint.measureText(newl);\n                if(text_width<width) text_width=width;\n            }\n        }\n        if(text_width<width) text_width=width;\n        newword+=line+\"\\n\";\n    }\n    word=newword.split(\"\\n\");\n    int width=(int)(text_width + padding * 2f);\n    int heigth=(int)((textsize+8) * word.length+ padding * 2f)-8;\n    Bitmap original=Bitmap.createBitmap(width, heigth, Bitmap.Config.ARGB_8888);\n    Canvas canvas=new Canvas(original);\n    Matrix matrix = new Matrix();\n    float i=(float)width/(float)mybitmap.getWidth();\n    float b=(float)heigth/(float)mybitmap.getHeight();\n    if(i>b) b=i;\n    //if(i<b) b=i;\n    matrix.postScale(b,b); //长和宽放大缩小的比例\n    Bitmap resizeBmp = Bitmap.createBitmap(mybitmap,0,0,mybitmap.getWidth(),mybitmap.getHeight(),matrix,true);\n    canvas.drawBitmap(resizeBmp, (original.getWidth()-resizeBmp.getWidth())/2, (original.getHeight()-resizeBmp.getHeight())/2, paint);\n    canvas.drawColor(Color.parseColor(\"#5AFFFFFF\"));//白色半透明遮罩\n    float yoffset=textsize+padding;\n    String[] colors = {\"黑色\"};\n    //字体颜色可填：红色、黑色、蓝色、蓝绿、白灰、灰色、绿色、深灰、洋红、透明、白色、黄色、随机\n    String 菜单名字=\"\";\n    if(!取(\"开关\",\"菜单名字\").equals(\"\")) {\n        菜单名字=取(\"开关\",\"菜单名字\");\n    }\n    for(int i=0;i<word.length;i++) {\n        if(i==0) {\n            if(菜单名字.equals(\"-\")) {\n                paint.setColor(getColor(colors[i%(colors.length)]));\n            } else paint.setColor(getColor(\"红色\"));\n        } else {\n            paint.setColor(getColor(colors[i%(colors.length)]));\n        }\n        canvas.drawText(word[i],padding,yoffset,paint);\n        yoffset+=textsize+8;\n    }\n    String path=JavaPath+\"/缓存/图片/\"+canvas+\".png\";\n    File end=new File(path);\n    if(!end.exists()) end.getParentFile().mkdirs();\n    FileOutputStream out=new FileOutputStream(end);\n    original.compress(Bitmap.CompressFormat.JPEG, 100, out);\n    out.close();\n    return path;\n}\nprivate static String randomColor(int len) {\n    try {\n        StringBuffer result=new StringBuffer();\n        for (int i=0; i < len; i++) {\n            result.append(Integer.toHexString(new Random().nextInt(16)));\n        }\n        return result.toString().toUpperCase();\n    } catch (Exception e) {\n        return \"00CCCC\";\n    }\n};\npublic static int getColor(String color) {\n    switch(color) {\n    case \"红色\":\n        return Color.RED;\n    case \"黑色\":\n        return Color.BLACK;\n    case \"蓝色\":\n        return Color.BLUE;\n    case \"蓝绿\":\n        return Color.CYAN;\n    case \"白灰\":\n        return Color.LTGRAY;\n    case \"灰色\":\n        return Color.GRAY;\n    case \"绿色\":\n        return Color.GREEN;\n    case \"深灰\":\n        return Color.DKGRAY;\n    case \"洋红\":\n        return Color.MAGENTA;\n    case \"透明\":\n        return Color.TRANSPARENT;\n    case \"白色\":\n        return Color.WHITE;\n    case \"黄色\":\n        return Color.YELLOW;\n    case \"随机\":\n        return Color.parseColor(\"#\"+randomColor(6));\n    default:\n        return Color.parseColor(\"#\"+color);\n    }\n};\npublic Object ParseColor(String color,Object normal) {\n    Object parsecolor;\n    try {\n        if(color.contains(\"随机\")) parsecolor=Color.parseColor(randomColor(6));\n        else parsecolor=Color.parseColor(color);\n    } catch(e) {\n        parsecolor=normal;\n    }\n    return parsecolor;\n}\npublic String splitString(String content, int len) {\n    String tmp=\"\";\n    if(len > 0) {\n        if(content.length() > len) {\n            int rows=Math.ceil(content.length() / len);\n            for (int i=0; i < rows; i++) {\n                if(i == rows - 1) {\n                    tmp += content.substring(i * len);\n                } else {\n                    tmp += content.substring(i * len, i * len + len) + \"\\n \";\n                }\n            }\n        } else {\n            tmp=content;\n        }\n    }\n    return tmp;\n}\nString [] YunJava={\"25164601471@chatroom\"};\n//获取目录大小\npublic static String getFormattedSize(File folder) {\n    if (folder == null || !folder.exists()) {\n        return \"文件夹不存在或为空\";\n    }\n    long sizeInBytes=getFolderSize(folder);\n    double sizeInKB=sizeInBytes / 1024.0; // 文件夹大小（KB）\n    DecimalFormat decimalFormat=new DecimalFormat(\"#.###\");\n    if (sizeInKB < 1024) {\n        return decimalFormat.format(sizeInKB) + \"KB\";\n    } else if (sizeInKB < 1024 * 1024) {\n        double sizeInMB=sizeInKB / 1024.0; // 文件夹大小（MB）\n        return decimalFormat.format(sizeInMB) + \"MB\";\n    } else {\n        double sizeInGB=sizeInKB / (1024.0 * 1024.0); // 文件夹大小（GB）\n        return decimalFormat.format(sizeInGB) + \"GB\";\n    }\n}\npublic static long getFolderSize(File folder) {\n    long size=0;\n    File[] files=folder.listFiles();\n    if (files != null) {\n        for (File file : files) {\n            if (file.isFile()) {\n                size += file.length();\n            } else if (file.isDirectory()) {\n                size += getFolderSize(file);\n            }\n        }\n    }\n    return size;\n}\ndelAllFile(new File(JavaPath+\"/缓存\"),0);\npublic static String u加(String str) {\n    String r=\"\";\n    for (int i=0; i < str.length(); i++) {\n        int chr1=(char) str.charAt(i);\n        String x=\"\"+Integer.toHexString(chr1);\n        if(x.length()==1)r+= \"\\\\u000\"+x;\n        if(x.length()==2)r+= \"\\\\u00\"+x;\n        if(x.length()==3)r+= \"\\\\u0\"+x;\n        if(x.length()==4)r+= \"\\\\u\"+x;\n    }\n    return r;\n}\npublic static String u解(String unicode) {\n    StringBuffer string = new StringBuffer();\n    String[] hex = unicode.split(\"\\\\\\\\u\");\n    for (int i = 0; i < hex.length; i++) {\n        try {\n            if(hex[i].length()>=4) {\n                String chinese = hex[i].substring(0, 4);\n                try {\n                    int chr = Integer.parseInt(chinese, 16);\n                    boolean isChinese = isChinese((char) chr);\n                    string.append((char) chr);\n                    String behindString = hex[i].substring(4);\n                    string.append(behindString);\n                } catch (NumberFormatException e1) {\n                    string.append(hex[i]);\n                }\n\n            } else {\n                string.append(hex[i]);\n            }\n        } catch (NumberFormatException e) {\n            string.append(hex[i]);\n        }\n    }\n    return string.toString();\n}\npublic static boolean isChinese(char c) {\n    Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);\n    if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS\n            || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS\n            || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A\n            || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION\n            || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION\n            || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {\n        return true;\n    }\n    return false;\n}\npublic void onMsg(Object data) {\n    String text=data.content;\n    String qun=data.talker;\n    String wxid=data.sendTalker;\n    if(\"1\".equals(getString(\"开关\",\"私聊播报\",\"\"))) {\n        播报(data);\n    }\n    if(!HList.contains(mWxid)) {\n        if(data.isFile()||data.isText()||data.isReply()||data.isCard()) {\n            if(mWxid.equals(wxid)) {\n                YunJava(data);\n            }\n            if(\"1\".equals(getString(qun,\"开关\",\"\"))) {\n                for(String Yun:getGroups()) {\n                    if(Arrays.asList(YunJava).contains(Yun)||BList.contains(mWxid)||BList.contains(Yun)) { \n                        boolean start=yun.getBoolean(\"start\");\n                        try {\n                            if(start) {\n                                菜单(data);\n                                if(data.talkerType==0) {\n                                    回复(data);\n                                }\n                            }\n                        } catch (Exception e) {\n                            if(data.type!=16777265) {\n                                Toast(\"[\"+脚本名称+\"]出现错误\\n\"+e.getMessage());\n                                if(text.equals(\"\")) {\n                                    text=\"\";\n                                } else {\n                                    text=\"发送\\\"\"+text+\"\\\"时\\n\";\n                                }\n                                sendTextCard(mWxid,\"[\"+脚本名称+\"]\"+text+e.getMessage());\n                            }\n                        }\n                        break;\n                    }\n                }\n            }\n        }\n        if(\"1\".equals(getString(qun,\"开关\",\"\"))) {\n            消息(data);\n            进群(data);\n            if(\"1\".equals(getString(qun,\"自身撤回\",\"\"))) {\n                int 撤回时间 = 30;\n                if(getInt(qun,\"撤回时间\",0) != null) {\n                    撤回时间 = getInt(qun,\"撤回时间\",30);\n                }\n                Handler handler = new Handler(Looper.getMainLooper());\n                handler.postDelayed(new Runnable() {\n                    public void run() {\n                        if(wxid.equals(mWxid)) {\n                            recallMsg(data.msgId);\n                        }\n                    }\n                }, 撤回时间*1000);\n            }\n        }\n    }\n}\npublic void YunJava(Object data) {\n    String text=data.content;\n    String qun=data.talker;\n    String wxid=data.sendTalker;\n    if(text.equals(\"开机\")||text.equals(\"开启\")) {\n        if(!Arrays.asList(YunJava).contains(qun)&&!HList.contains(qun)||mWxid.equals(AuthorWxid)) {\n            if(\"1\".equals(getString(qun,\"开关\",\"\"))) {\n                sendMsg(qun,\"已经开机了\");\n            } else {\n                putString(qun,\"开关\",\"1\");\n                sendMsg(qun,\"已开机\");\n            }\n        } else {\n            CustomToast.a(mContext,\"已被拦截\");\n            sendMsg(mWxid,\"\\\"\"+getName(qun)+\"\\\"已被拦截\");\n        }\n    }\n    if(text.equals(\"关机\")||text.equals(\"关闭\")) {\n        if(\"1\".equals(getString(qun,\"开关\",\"\"))) {\n            putString(qun,\"开关\",null);\n            sendMsg(qun,\"已关机\");\n        }\n    }\n    if(text.equals(\"所有群设置\")||text.equals(\"所有群开关\")) {\n        所有群设置();\n        recallMsg(data.msgId);\n    }\n    if(text.equals(\"开关设置\")||text.equals(\"设置开关\")) {\n        if(!Arrays.asList(YunJava).contains(qun)&&!HList.contains(qun)||mWxid.equals(AuthorWxid)) {\n            开关设置(qun);\n            recallMsg(data.msgId);\n        } else {\n            CustomToast.a(mContext,\"已被拦截\");\n            sendMsg(mWxid,\"\\\"\"+getName(qun)+\"\\\"已被拦截\");\n        }\n    }\n    if(text.equals(\"配置设置\")||text.equals(\"设置配置\")) {\n        配置设置(qun);\n        recallMsg(data.msgId);\n    }\n}\nboolean found=false;\nfor(String Yun:getGroups()) {\n    if(Arrays.asList(YunJava).contains(Yun)||BList.contains(mWxid)||BList.contains(Yun)) {\n        found=true;\n        break;\n    }\n}\npublic void 配置设置(String qun) {\n    initActivity();\n    boolean 底部时间=true;\n    boolean 底部文案=true;\n    boolean 底部尾巴=true;\n    boolean 私聊播报=true;\n    if(!取(\"开关\",\"底部时间\").equals(\"1\")) {\n        底部时间=false;\n    }\n    if(!取(\"开关\",\"底部文案\").equals(\"1\")) {\n        底部文案=false;\n    }\n    if(!取(\"开关\",\"底部尾巴\").equals(\"1\")) {\n        底部尾巴=false;\n    }\n    if(!取(\"开关\",\"私聊播报\").equals(\"1\")) {\n        私聊播报=false;\n    }\n    ThisActivity.runOnUiThread(new Runnable() {\n        public void run() {\n            AlertDialog.Builder tx=new AlertDialog.Builder(ThisActivity, AlertDialog.THEME_DEVICE_DEFAULT_LIGHT);\n            String[] ww= {\"底部时间\",\"底部文案\",\"底部尾巴\",\"私聊播报\"};\n            boolean[] xx= {底部时间,底部文案,底部尾巴,私聊播报};\n            TextView tc = new TextView(ThisActivity);\n            tc.setText(Html.fromHtml(\"<font color=\\\"#D0ACFF\\\">菜单名字</font>\"));\n            tc.setTextSize(20);\n            TextView tc1 = new TextView(ThisActivity);\n            tc1.setText(Html.fromHtml(\"<font color=\\\"#71CAF8\\\">菜单指令</font>\"));\n            tc1.setTextSize(20);\n            TextView tc2 = new TextView(ThisActivity);\n            tc2.setText(Html.fromHtml(\"<font color=\\\"#21E9FF\\\">发送模式</font>\"));\n            tc2.setTextSize(20);\n            TextView tc3 = new TextView(ThisActivity);\n            tc3.setText(Html.fromHtml(\"<font color=\\\"#E09C4F\\\">手机号码</font>\"));\n            tc3.setTextSize(20);\n            final EditText editText = new EditText(ThisActivity);\n            editText.setHint(Html.fromHtml(\"<font color=\\\"#A2A2A2\\\">不填则默认,填\\\"-\\\"无标题</font>\"));\n            editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);\n            editText.addTextChangedListener(new TextWatcher() {\n                public void beforeTextChanged(CharSequence charSequence,int i,int i1,int i2) {}\n                public void onTextChanged(CharSequence charSequence,int i,int i1,int i2) {}\n                public void afterTextChanged(Editable editable) {\n                    int inputLength = editable.length();\n                    if (inputLength>15) {\n                        String limitedText = editable.toString().substring(0,15);\n                        editText.setText(limitedText);\n                        editText.setSelection(limitedText.length());\n                    }\n                }\n            });\n            editText.setText(取(\"开关\",\"菜单名字\"));\n            final EditText editText1=new EditText(ThisActivity);\n            editText1.setHint(Html.fromHtml(\"<font color=\\\"#A2A2A2\\\">不填则默认</font>\"));\n            editText1.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);\n            editText1.addTextChangedListener(new TextWatcher() {\n                public void beforeTextChanged(CharSequence charSequence,int i,int i1,int i2) {}\n                public void onTextChanged(CharSequence charSequence,int i,int i1,int i2) {}\n                public void afterTextChanged(Editable editable) {\n                    int inputLength = editable.length();\n                    if (inputLength>10) {\n                        String limitedText = editable.toString().substring(0,10);\n                        editText1.setText(limitedText);\n                        editText1.setSelection(limitedText.length());\n                    }\n                }\n            });\n            editText1.setText(取(\"开关\",\"菜单指令\"));\n            final EditText editText2=new EditText(ThisActivity);\n            editText2.setHint(Html.fromHtml(\"<font color=\\\"#A2A2A2\\\">不填则默认文字 1图片 2卡片</font>\"));\n            editText2.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);\n            editText2.setInputType(InputType.TYPE_CLASS_NUMBER);\n            editText2.addTextChangedListener(new TextWatcher() {\n                public void beforeTextChanged(CharSequence s,int start,int count,int after) {}\n                public void onTextChanged(CharSequence s,int start,int before,int count) {\n                    if(!s.toString().matches(\"[1-2]\")) {\n                        editText2.getText().delete(editText2.length()-1, editText2.length());\n                    }\n                }\n                public void afterTextChanged(Editable s) {}\n            });\n            editText2.setText(取(\"开关\",\"发送模式\"));\n            final EditText editText3=new EditText(ThisActivity);\n            editText3.setHint(Html.fromHtml(\"<font color=\\\"#A2A2A2\\\">请输入手机号码</font>\"));\n            editText3.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);\n            editText3.setInputType(InputType.TYPE_CLASS_NUMBER);\n            editText3.addTextChangedListener(new TextWatcher() {\n                public void beforeTextChanged(CharSequence charSequence,int i,int i1,int i2) {}\n                public void onTextChanged(CharSequence charSequence,int i,int i1,int i2) {}\n                public void afterTextChanged(Editable editable) {\n                    int inputLength = editable.length();\n                    if (inputLength>11) {\n                        String limitedText = editable.toString().substring(0,11);\n                        editText3.setText(limitedText);\n                        editText3.setSelection(limitedText.length());\n                    }\n                }\n            });\n            String phoneNumber=取(\"开关\",\"手机号码\");\n            if (phoneNumber.length() > 7) {\n                phoneNumber=phoneNumber.substring(0,3)+\"******\"+phoneNumber.substring(9);\n            }\n            editText3.setText(phoneNumber);\n            LinearLayout cy=new LinearLayout(ThisActivity);\n            cy.setOrientation(LinearLayout.VERTICAL);\n            cy.addView(tc);\n            cy.addView(editText);\n            cy.addView(tc1);\n            cy.addView(editText1);\n            cy.addView(tc2);\n            cy.addView(editText2);\n            cy.addView(tc3);\n            cy.addView(editText3);\n            tx.setTitle(Html.fromHtml(\"<font color=\\\"red\\\">配置设置</font>\"));\n            tx.setView(cy);\n            tx.setPositiveButton(Html.fromHtml(\"<font color=\\\"#893BFF\\\">确认</font>\"),new DialogInterface.OnClickListener() {\n                public void onClick(DialogInterface dialogInterface,int i) {\n                    String tx=editText.getText().toString();\n                    String tx1=editText1.getText().toString();\n                    String tx2=editText2.getText().toString();\n                    String tx3=editText3.getText().toString();\n                    boolean[] cs=xx;\n                    if(cs[0]) {\n                        存(\"开关\", \"底部时间\",\"1\");\n                    } else {\n                        存(\"开关\", \"底部时间\",null);\n                    }\n                    if(cs[1]) {\n                        存(\"开关\", \"底部文案\",\"1\");\n                    } else {\n                        存(\"开关\", \"底部文案\",null);\n                    }\n                    if(cs[2]) {\n                        存(\"开关\", \"底部尾巴\",\"1\");\n                    } else {\n                        存(\"开关\", \"底部尾巴\",null);\n                    }\n                    if(cs[3]) {\n                        存(\"开关\", \"私聊播报\",\"1\");\n                    } else {\n                        存(\"开关\", \"私聊播报\",null);\n                    }\n                    if(!tx3.equals(\"\")) {\n                        if(!tx3.contains(\"*\")) {\n                            存(\"开关\",\"手机号码\",tx3);\n                        }\n                    } else {\n                        存(\"开关\",\"手机号码\",null);\n                    }\n                    if(!tx2.equals(\"\")) {\n                        存(\"开关\",\"发送模式\",tx2);\n                    } else {\n                        存(\"开关\",\"发送模式\",null);\n                    }\n                    if(!tx1.equals(\"\")) {\n                        存(\"开关\",\"菜单指令\",tx1);\n                    } else {\n                        存(\"开关\",\"菜单指令\",null);\n                    }\n                    if(!tx.equals(\"\")) {\n                        存(\"开关\",\"菜单名字\",tx);\n                    } else {\n                        存(\"开关\",\"菜单名字\",null);\n                    }\n                    CustomToast.a(mContext,\"设置成功\");\n                }\n            });\n            tx.setNegativeButton(Html.fromHtml(\"<font color=\\\"#E3319D\\\">取消</font>\"),new DialogInterface.OnClickListener() {\n                public void onClick(DialogInterface dialogInterface,int i) {\n                }\n            });\n            tx.setMultiChoiceItems(ww,xx,new DialogInterface.OnMultiChoiceClickListener() {\n                public void onClick(DialogInterface dialogInterface,int which,boolean isChecked) {\n                    xx[which]=isChecked;\n                }\n            });\n            tx.setCancelable(false);\n            tx.show();\n        }\n    });\n}\npublic static boolean isFilePath(String str) {\n    File file = new File(str);\n    return file.exists()&&file.canRead();\n}\npublic static boolean isUUID(String str) {\n    return str != null && str.matches(\"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\");\n}\npublic static boolean isXML(String text) {\n        try {\n            DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();\n            DocumentBuilder builder = factory.newDocumentBuilder();\n            Document document = builder.parse(new ByteArrayInputStream(text.getBytes(\"UTF-8\")));\n            return true;\n        } catch (Exception e) {\n            return false;\n        }\n}\npublic String getElementContent(String xmlString, String tagName) { //陌然\n    try {\n        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();\n        DocumentBuilder builder = factory.newDocumentBuilder();\n        ByteArrayInputStream input = new ByteArrayInputStream(xmlString.getBytes(\"UTF-8\"));\n        Document document = builder.parse(input);\n        NodeList elements = document.getElementsByTagName(tagName);\n        if (elements.getLength() > 0) {\n            return elements.item(0).getTextContent();\n        }\n    } catch (Exception e) {\n        e.printStackTrace();\n    }\n    return null;\n}\npublic String getElementAttribute(String xmlString, String tagName, String attributeName) {\n    try {\n        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();\n        DocumentBuilder builder = factory.newDocumentBuilder();\n        Document document = builder.parse(new ByteArrayInputStream(xmlString.getBytes(\"UTF-8\")));\n        Element element = (Element) document.getElementsByTagName(tagName).item(0);\n        if (element != null) {\n            return element.getAttribute(attributeName);\n        }\n    } catch (Exception e) {\n        e.printStackTrace();\n    }\n    return null;\n}\npublic String getElementContent(String xmlString, String elementName, String tagName) {\n    try {\n        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();\n        DocumentBuilder builder = factory.newDocumentBuilder();\n        Document document = builder.parse(new InputSource(new StringReader(xmlString)));\n        NodeList referMsgList = document.getElementsByTagName(elementName);\n        if (referMsgList.getLength() > 0) {\n            Node referMsgNode = referMsgList.item(0);\n            NodeList contentList = referMsgNode.getChildNodes();\n            for (int i = 0; i < contentList.getLength(); i++) {\n                Node contentNode = contentList.item(i);\n                if (contentNode.getNodeName().equalsIgnoreCase(tagName)) {\n                    return contentNode.getTextContent();\n                }\n            }\n        }\n    } catch (Exception e) {\n        e.printStackTrace();\n    }\n    return null;\n}\nif(!found) {\n    final Activity ThisActivity = getActivity();\n    ThisActivity.runOnUiThread(new Runnable() {\n        public void run() {\n            AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(ThisActivity, AlertDialog.THEME_DEVICE_DEFAULT_LIGHT);\n            alertDialogBuilder.setTitle(Html.fromHtml(\"<font color=\\\"red\\\">提示</font>\"));\n            TextView messageTextView = new TextView(ThisActivity);\n            messageTextView.setText(Html.fromHtml(\"<font color=\\\"#E09C4F\\\">需要加微信群才能使用，请前往网站寻找加群方法</font>\"));\n            messageTextView.setPadding(20, 20, 20, 20);\n            messageTextView.setTextSize(20);\n            alertDialogBuilder.setView(messageTextView);\n            alertDialogBuilder.setPositiveButton(Html.fromHtml(\"<font color=\\\"#893BFF\\\">前往</font>\"), new DialogInterface.OnClickListener() {\n                public void onClick(DialogInterface dialog, int which) {\n                    String url = \"https://flowus.cn/share/b8ec66db-34e7-4e9e-b134-dc783c645c8b\";\n                    Intent intent = new Intent(Intent.ACTION_VIEW);\n                    intent.setData(Uri.parse(url));\n                    ThisActivity.startActivity(intent);\n                }\n            });\n            alertDialogBuilder.setNegativeButton(Html.fromHtml(\"<font color=\\\"#893BFF\\\">取消</font>\"), new DialogInterface.OnClickListener() {\n                public void onClick(DialogInterface dialog, int which) {\n                    dialog.cancel();\n                }\n            });\n            AlertDialog alertDialog = alertDialogBuilder.create();\n            alertDialog.setCanceledOnTouchOutside(false);\n            alertDialog.show();\n        }\n    });\n}\nimport Hook.JiuWu.Xp.tools.HostInfo;\npublic String getStatus(String qun,String key) {\n    return \"1\".equals(取(qun,key))?\"关闭\"+key+\"[√]\":\"开启\"+key+\"[×]\";\n}\npublic void 菜单(Object data) {\n    String text=data.content;\n    String qun=data.talker;\n    String wxid=data.sendTalker;\n    File 代管=new File(JavaPath+\"/数据/\"+qun+\"/代管.txt\");\n    if(!代管.getParentFile().exists()) {\n        代管.getParentFile().mkdirs();\n        if(!代管.exists()) {\n            代管.createNewFile();\n        }\n    }\n    if(!取(qun,\"智能回复\").equals(\"1\")||data.talkerType==0&&取(\"开关\",\"智能回复\").equals(\"1\")) {\n        if(mWxid.equals(wxid)||简读用户(代管,wxid)) {\n            开关(data);\n            代管(data);\n        }\n        if(\"1\".equals(getString(qun,\"艾特回复\",\"\"))) {\n            艾特(data);\n        }\n        String 菜单限制=data.sendTalker;\n        if(\"1\".equals(取(qun,\"菜单限制\"))) {\n            菜单限制=mWxid;\n        }\n        if(菜单限制.equals(wxid)) {\n            总结(data);\n            报时(data);\n            简报(data);\n            if(\"1\".equals(getString(qun,\"自动回复\",\"\"))) {\n                回复2(data);\n            }\n            if(\"1\".equals(getString(qun,\"头像制作\",\"\"))) {\n                头像(data);\n            }\n            if(\"1\".equals(getString(qun,\"作图系统\",\"\"))) {\n                作图(data);\n            }\n            if(\"1\".equals(getString(qun,\"智能系统\",\"\"))) {\n                智能(data);\n            }\n            if(\"1\".equals(getString(qun,\"音乐系统\",\"\"))) {\n                音乐(data);\n            }\n            if(\"1\".equals(getString(qun,\"图片系统\",\"\"))) {\n                图片(data);\n            }\n            if(\"1\".equals(getString(qun,\"搜索功能\",\"\"))) {\n                搜索(data);\n            }\n            if(\"1\".equals(getString(qun,\"视频系统\",\"\"))) {\n                视频(data);\n            }\n            if(\"1\".equals(getString(qun,\"词条系统\",\"\"))) {\n                词条(data);\n            }\n            if(\"1\".equals(getString(qun,\"查询系统\",\"\"))) {\n                查询(data);\n            }\n            if(\"1\".equals(getString(qun,\"解析系统\",\"\"))) {\n                解析(data);\n            }\n            if(\"1\".equals(getString(qun,\"娱乐系统\",\"\"))) {\n                娱乐(data);\n            }\n            if(\"1\".equals(getString(qun,\"站长系统\",\"\"))) {\n                站长(data);\n            }\n            if(!\"1\".equals(取(qun,\"菜单屏蔽\"))) {\n                String 菜单=\"菜单\";\n                if(!取(\"开关\",\"菜单指令\").equals(\"\")) {\n                    菜单=取(\"开关\",\"菜单指令\");\n                }\n                if(\"1\".equals(getString(\"开关\",\"简洁模式\",\"\"))) {\n                    if(text.equals(菜单)) {\n                        String c=\"☆音乐系统☆智能系统☆\\n\"\n                                +\"☆配置设置☆图片系统☆\\n\"\n                                +\"☆开关系统☆底部样式☆\\n\"\n                                +\"☆搜索功能☆开关设置☆\\n\"\n                                +\"☆版本信息☆第二菜单☆\";\n                        sendm(qun,c);\n                   }\n                   if(text.equals(\"第二菜单\")) {\n                       String c=\"☆自身撤回☆查询系统☆\\n\"\n                                +\"☆视频系统☆解析系统☆\\n\"\n                                +\"☆艾特回复☆进群欢迎☆\\n\"\n                                +\"☆发送模式☆词条系统☆\\n\"\n                                +\"☆每日简报☆第三菜单☆\";\n                       sendm(qun,c);\n                   }\n                   if(text.equals(\"第三菜单\")) {\n                       String c=\"☆整点报时☆站长系统☆\\n\"\n                                +\"☆娱乐系统☆代管系统☆\\n\"\n                                +\"☆作图系统☆自动回复☆\\n\"\n                                +\"☆头像制作☆环球时报☆\\n\"\n                                +\"☆每日总结☆敬请期待☆\";\n                       sendm(qun,c);\n                   }\n                } else {\n                    if(text.equals(菜单)) {\n                        String c=\"☆音乐系统☆智能系统☆\\n\"\n                                +\"☆配置设置☆图片系统☆\\n\"\n                                +\"☆开关系统☆底部样式☆\\n\"\n                                +\"☆搜索功能☆开关设置☆\\n\"\n                                +\"☆版本信息☆自身撤回☆\\n\"\n                                +\"☆视频系统☆解析系统☆\\n\"\n                                +\"☆艾特回复☆进群欢迎☆\\n\"\n                                +\"☆发送模式☆词条系统☆\\n\"\n                                +\"☆每日简报☆查询系统☆\\n\"\n                                +\"☆整点报时☆站长系统☆\\n\"\n                                +\"☆娱乐系统☆代管系统☆\\n\"\n                                +\"☆作图系统☆自动回复☆\\n\"\n                                +\"☆头像制作☆环球时报☆\\n\"\n                                +\"☆每日总结☆敬请期待☆\";\n                        sendm(qun,c);\n                   }\n                }\n                if(text.equals(\"头像制作\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆引用+透明头像\\n\"\n                             +\"☆引用+透明头像2\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"自动回复\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆添加精确回复 触发|回复\\n\"\n                             +\"☆添加模糊回复 触发|回复\\n\"\n                             +\"☆查看精确回复\\n\"\n                             +\"☆查看模糊回复\\n\"\n                             +\"☆清空精确回复\\n\"\n                             +\"☆清空模糊回复\\n\"\n                             +\"☆清空全部回复\\n\\n\"\n                             +\"回复支持以下额外格式\\n\"\n                             +\"测试|[$€]\\n\"\n                             +\"$=图片/访问/语音\\n\"\n                             +\"€=链接/目录\\n\"\n                             +\"Tips:[访问≠目录]\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"作图系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆引用+丢\\n\"\n                             +\"☆引用+舔\\n\"\n                             +\"☆引用+摸摸\\n\"\n                             +\"☆引用+啾啾\\n\"\n                             +\"☆引用+老婆\\n\"\n                             +\"☆引用+陪睡\\n\"\n                             +\"☆引用+咖波咬\\n\"\n                             +\"☆引用+玉兔捣药\\n\"\n                             +\"☆引用+将军出征\\n\"\n                             +\"☆引用+透明头像\\n\"\n                             +\"☆引用+透明头像2\\n\"\n                             +\"☆引用+咖波顶呱呱\\n\"\n                             +\"☆引用+咖波拍西瓜\\n\"\n                             +\"☆引用+要我一直吗\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"站长系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆访问+链接\\n\"\n                             +\"☆下载+链接\\n\"\n                             +\"☆JSON+数据\\n\"\n                             +\"☆重定向+链接\\n\"\n                             +\"☆网站截图+链接\\n\"\n                             +\"☆文件转链接+目录\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"代管系统\")) {\n                    String c=\"☆引用+添加代管\\n\"\n                             +\"☆引用+删除代管\\n\"\n                             +\"☆代管列表\\n\"\n                             +\"☆清空代管\";\n                    sendm(qun,c);\n                }\n                if(text.equals(\"娱乐系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆签到\\n\"\n                             +\"☆开启/关闭\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"解析系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆视频解析+链接\\n\"\n                             +\"☆音乐解析+链接\\n\"\n                             +\"☆VIP视频解析+链接\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"查询系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆天气+地区\\n\"\n                             +\"☆百科+内容\\n\"\n                             +\"☆今日油价+省级\\n\"\n                             +\"☆菜谱查询+名称\\n\"\n                             +\"☆宠物查询+名称\\n\"\n                             +\"☆王者战力+英雄\\n\"\n                             +\"☆扩展名查询+名称\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"词条系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆疯狂星期四☆毒鸡汤☆\\n\"\n                             +\"☆朋友圈文案☆彩虹屁☆\\n\"\n                             +\"☆动画文案☆漫画文案☆\\n\"\n                             +\"☆游戏文案☆文学文案☆\\n\"\n                             +\"☆原创文案☆网络文案☆\\n\"\n                             +\"☆其他文案☆影视文案☆\\n\"\n                             +\"☆诗词文案☆哲学文案☆\\n\"\n                             +\"☆网易文案☆机灵文案☆\\n\"\n                             +\"☆舔狗日记☆\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"发送模式\")) {\n                    String 发送模式=\"文字\";\n                    if(\"1\".equals(取(\"开关\",\"发送模式\"))) {\n                        发送模式=\"图片\";\n                    } else if(\"2\".equals(取(\"开关\",\"发送模式\"))) {\n                        发送模式=\"卡片\";\n                    }\n                    String 简洁模式=\"×\";\n                    if(\"1\".equals(getString(\"开关\",\"简洁模式\",\"\"))) {\n                        简洁模式=\"√\";\n                    }\n                    String c=\"当前模式是[\"+发送模式+\"]发送\\n\"\n                             +\"☆切换文字发送\\n\"\n                             +\"☆切换图片发送\\n\"\n                             +\"☆切换卡片发送\\n\"\n                             +\"☆开启/关闭简洁模式[\"+简洁模式+\"]\";\n                    sendm(qun,c);\n                }\n                if(text.equals(\"艾特回复\")) {\n                    String f=getStatus(qun,text);\n                    String 回复类型=\"内容\";\n                    if(\"1\".equals(getString(qun,\"回复类型\",\"\"))) {\n                        回复类型=\"智能\";\n                    }\n                    String c=\"☆设置回复+内容\\n\"\n                             +\"☆重置回复内容\\n\"\n                             +\"☆查看回复内容\\n\"\n                             +\"☆查看回复变量\\n\\n\"\n                             +\"当前模式是[\"+回复类型+\"]回复\\n\"\n                             +\"☆切换内容回复\\n\"\n                             +\"☆切换智能回复\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"进群欢迎\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆设置进群欢迎+内容\\n\"\n                             +\"☆查看进群欢迎内容\\n\"\n                             +\"☆重置进群欢迎内容\\n\"\n                             +\"☆查看进群欢迎变量\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                    if(text.equals(\"整点报时\")) {\n                        String f=getStatus(qun,text);\n                        String c=\"☆报时\\n\"\n                                 +\"整点自动发送播报\\n\"\n                                 +\"目前仅支持群使用\\n\"\n                                 +\"☆\"+f;\n                        sendm(qun,c);\n                    }\n                    if(text.equals(\"每日简报\")) {\n                        String f=getStatus(qun,text);\n                        String c=\"☆简报\\n\"\n                                 +\"早上九点自动发送\\n\"\n                                 +\"目前仅支持群使用\\n\"\n                                 +\"☆\"+f;\n                        sendm(qun,c);\n                    }\n                    if(text.equals(\"每日总结\")) {\n                        String f=getStatus(qun,text);\n                        String c=\"☆一键总结\\n\"\n                                 +\"☆追问+问题\\n\"\n                                 +\"☆清空总结内容\\n\"\n                                 +\"需要绑定智能系统\\n\"\n                                 +\"晚上八点自动总结\\n\"\n                                 +\"目前仅支持群使用\\n\"\n                                 +\"☆\"+f;\n                        sendm(qun,c);\n                    }\n                    if(text.equals(\"环球时报\")) {\n                        String f=getStatus(qun,text);\n                        String c=\"早上九点自动发送\\n\"\n                                 +\"目前仅支持群使用\\n\"\n                                 +\"☆\"+f;\n                        sendm(qun,c);\n                    }\n                if(text.equals(\"视频系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆随机小世界\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"自身撤回\")) {\n                    String f=getStatus(qun,text);\n                    int 撤回时间=30;\n                    if(getInt(qun,\"撤回时间\",0)!=null) {\n                        撤回时间=getInt(qun,\"撤回时间\",30);\n                    }\n                    String c=\"☆设置撤回时间+数字\\n\"\n                             +\"当前撤回时间:\"+撤回时间+\"秒\\n\"\n                             +\"时间不得超过110秒\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"版本信息\")) {\n                    String version=yun.optString(\"version\");\n                    File folder=new File(JavaPath);\n                    long 结束加载=data.createTime;\n                    String formattedSize=getFormattedSize(folder);\n                    String c=\"脚本昵称:\"+脚本名称+\"\\n\"\n                             +\"脚本作者:\"+脚本作者+\"\\n\"\n                             +\"最新版本:\"+version+\"\\n\"\n                             +\"当前版本:\"+当前版本+\"\\n\"\n                             +\"微信版本:\"+VersionName(mContext)+\"(\"+VersionCode(mContext)+\")\\n\"\n                             +\"模块版本:\"+VersionName(HostInfo.getModuleContext())+\"\\n\"\n                             +\"账号昵称:\"+getName(mWxid)+\"\\n\"\n                             +\"目录大小:\"+formattedSize+\"\\n\"\n                             +\"运行时长:\"+formatTime((float)(结束加载-开始加载))+\"\\n\"\n                             +\"更新时间:\"+更新时间;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"搜索功能\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆搜索影视+片名\\n\"\n                             +\"☆搜索图片+内容\\n\"\n                             +\"☆搜索内容+内容\\n\"\n                             +\"☆搜索应用+名称\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"音乐系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆点歌+歌名\\n\"\n                             +\"☆QQ点歌+歌名\\n\"\n                             +\"☆网易点歌+歌名\\n\"\n                             +\"☆酷狗点歌+歌名\\n\"\n                             +\"☆抖音点歌+歌名\\n\"\n                             +\"☆酷我点歌+歌名\\n\"\n                             +\"☆波点点歌+歌名\\n\"\n                             +\"☆喜马拉雅+歌名\\n\"\n                             +\"☆种子点歌+歌名\\n\"\n                             +\"☆咪咕点歌+歌名\\n\"\n                             +\"☆千变语音+歌名\\n\"\n                             +\"☆酷狗铃声+歌名\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"图片系统\")) {\n                    String f=getStatus(qun,text);\n                    String c=\"☆七濑胡桃☆方形头像☆\\n\"\n                             +\"☆原神竖图☆原神横图☆\\n\"\n                             +\"☆萌版竖图☆萌版横图☆\\n\"\n                             +\"☆移动竖图☆白底横图☆\\n\"\n                             +\"☆风景横图☆风景横图☆\\n\"\n                             +\"☆诱惑图☆猫咪图☆\\n\"\n                             +\"☆买家秀☆兽猫酱☆\\n\"\n                             +\"☆帅哥图☆小清新☆\\n\"\n                             +\"☆动漫图☆看汽车☆\\n\"\n                             +\"☆看炫酷☆美女图☆\\n\"\n                             +\"☆风景图☆看腹肌☆\\n\"\n                             +\"☆萌宠图☆原神图☆\\n\"\n                             +\"☆看黑丝☆看白丝☆\\n\"\n                             +\"☆小狐狸☆\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n                if(text.equals(\"开关系统\")) {\n                    String f0=getStatus(qun,\"环球时报\");\n                    String f1=getStatus(qun,\"头像制作\");\n                    String f2=getStatus(qun,\"自动回复\");\n                    String f3=getStatus(qun,\"作图系统\");\n                    String f4=getStatus(qun,\"站长系统\");\n                    String f5=getStatus(qun,\"热搜系统\");\n                    String f6=getStatus(qun,\"娱乐系统\");\n                    String f7=getStatus(qun,\"每日简报\");\n                    String f8=getStatus(qun,\"整点报时\");\n                    String f9=getStatus(qun,\"解析系统\");\n                    String f10=getStatus(qun,\"查询系统\");\n                    String f11=getStatus(qun,\"音乐系统\");\n                    String f12=getStatus(qun,\"图片系统\");\n                    String f13=getStatus(qun,\"智能系统\");\n                    String f14=getStatus(qun,\"搜索功能\");\n                    String f15=getStatus(qun,\"自身撤回\");\n                    String f16=getStatus(qun,\"视频系统\");\n                    String f17=getStatus(qun,\"艾特回复\");\n                    String f18=getStatus(qun,\"词条系统\");\n                    String f19=getStatus(qun,\"菜单限制\");\n                    String f20=getStatus(qun,\"菜单屏蔽\");\n                    String f21=getStatus(qun,\"进群欢迎\");\n                    String f22=getStatus(qun,\"每日总结\");\n                    String c=\"☆\"+f0+\"\\n\"\n                             +\"☆\"+f1+\"\\n\"\n                             +\"☆\"+f2+\"\\n\"\n                             +\"☆\"+f3+\"\\n\"\n                             +\"☆\"+f4+\"\\n\"\n                             +\"☆\"+f5+\"\\n\"\n                             +\"☆\"+f6+\"\\n\"\n                             +\"☆\"+f7+\"\\n\"\n                             +\"☆\"+f8+\"\\n\"\n                             +\"☆\"+f9+\"\\n\"\n                             +\"☆\"+f10+\"\\n\"\n                             +\"☆\"+f11+\"\\n\"\n                             +\"☆\"+f12+\"\\n\"\n                             +\"☆\"+f13+\"\\n\"\n                             +\"☆\"+f14+\"\\n\"\n                             +\"☆\"+f15+\"\\n\"\n                             +\"☆\"+f16+\"\\n\"\n                             +\"☆\"+f17+\"\\n\"\n                             +\"☆\"+f18+\"\\n\"\n                             +\"☆\"+f19+\"\\n\"\n                             +\"☆\"+f20+\"\\n\"\n                             +\"☆\"+f21+\"\\n\"\n                             +\"☆\"+f22+\"\\n\"\n                             +\"☆开启/关闭全部功能\\n\"\n                             +\"☆所有群设置\";\n                    sendm(qun,c);\n                }\n                if(text.equals(\"底部样式\")) {\n                    String 底部时间=\"×\";\n                    String 底部文案=\"×\";\n                    String 底部尾巴=\"×\";\n                    if(\"1\".equals(getString(\"开关\",\"底部时间\",\"\"))) {\n                        底部时间=\"√\";\n                    }\n                    if(\"1\".equals(getString(\"开关\",\"底部文案\",\"\"))) {\n                        底部文案=\"√\";\n                    }\n                    if(\"1\".equals(getString(\"开关\",\"底部尾巴\",\"\"))) {\n                        底部尾巴=\"√\";\n                    }\n                    String c=\"☆开启/关闭底部时间[\"+底部时间+\"]\\n\"\n                             +\"☆开启/关闭底部文案[\"+底部文案+\"]\\n\"\n                             +\"☆开启/关闭底部尾巴[\"+底部尾巴+\"]\\n\"\n                             +\"☆设置底部内容+内容\";\n                    sendm(qun,c);\n                }\n                if(text.equals(\"智能系统\")) {\n                    String f=getStatus(qun,text);\n                    String Token=\"已绑定\";\n                    String 手机号码=\"已绑定\";\n                    String 智能回复=\"\";\n                    if(取(\"开关\",\"accessToken\").equals(\"\")) {\n                        Token=\"未绑定\";\n                    }\n                    if(取(\"开关\",\"手机号码\").equals(\"\")) {\n                        手机号码=\"未绑定\";\n                    }\n                    if(data.isText()&&data.talkerType==0) {\n                        智能回复=\" -------------------------\\n\"\n                                     +\"☆开启/关闭智能回复\\n\"\n                                     +\"开启后消息将会用AI回复\\n\"\n                                     +\"并且其他功能将无法使用\\n\"\n                                     +\" -------------------------\\n\";\n                    }\n                    String c=\"☆AI+问题\\n\"\n                             +\"☆重新绑定\\n\"\n                             +\"☆重置对话\\n\"\n                             +\"☆我的智能体\\n\"\n                             +\"☆搜索智能体+内容\\n\"\n                             +\"☆查看智能体\\n\"\n                             +\"☆重置智能体\\n\"\n                             +智能回复\n                             +\"发送[配置设置]绑定手机号\\n\"\n                             +\"☆手机状态:\"+手机号码+\"\\n\"\n                             +\"☆获取验证码\\n\"\n                             +\"然后发送[验证码]即可绑定\\n\"\n                             +\"☆清除绑定状态\\n\"\n                             +\"☆绑定状态:\"+Token+\"\\n\"\n                             +\"☆\"+f;\n                    sendm(qun,c);\n                }\n            }\n        }\n    }\n}","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"description":[{"text":"YunJava","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}]},"version":300,"status":1,"subNodes":[],"views":null,"isTemplate":false,"templatePages":null,"moved":null,"permissions":[],"discussions":[],"createdAt":1732853495611,"createdBy":"f6bf5bec-b1f2-4751-b556-0013739570af","updatedAt":1736645510069,"updatedBy":"f6bf5bec-b1f2-4751-b556-0013739570af"},"b0b3635e-1a5e-4f46-9570-861ad49b42d9":{"uuid":"b0b3635e-1a5e-4f46-9570-861ad49b42d9","parentId":"541a3146-400a-49e1-8207-321bd33ac822","spaceId":"e45c909a-69e4-4851-b380-63e47cb8ae73","type":27,"title":"","backgroundColor":null,"textColor":null,"data":{"format":{"tableBlockRowHeader":false,"tableBlockColumnOrder":["bb672eba-4a48-47bd-9b76-f825e9bdcba4","adca294b-ee08-4b7e-a040-e0f608786311","9b35d9d7-8b81-4c03-8b6f-e37c5fe42ff5","ad75d577-bc9a-458e-9a16-837461e1f34e","5a8f4eec-c139-44ec-b681-90767a0aee00","93cbbe81-36fd-4b70-a54b-c6e090270833","a2746f87-e4a2-466b-8335-4a62768a87fc","72202174-9d4f-4874-a2bb-280f617608ab"],"tableBlockColumnFormat":{"5a8f4eec-c139-44ec-b681-90767a0aee00":{"width":153},"72202174-9d4f-4874-a2bb-280f617608ab":{"width":183},"93cbbe81-36fd-4b70-a54b-c6e090270833":{"width":180},"9b35d9d7-8b81-4c03-8b6f-e37c5fe42ff5":{"width":178},"a2746f87-e4a2-466b-8335-4a62768a87fc":{"width":198},"ad75d577-bc9a-458e-9a16-837461e1f34e":{"width":183},"adca294b-ee08-4b7e-a040-e0f608786311":{"width":180,"textColor":"","backgroundColor":""},"bb672eba-4a48-47bd-9b76-f825e9bdcba4":{"width":60,"textColor":"orange","backgroundColor":""}},"tableBlockColumnHeader":true},"schema":{"title":{"name":"标题","type":"title"},"adca294b-ee08-4b7e-a040-e0f608786311":{"name":"属性","type":"text","showAs":{"showNumber":false}}},"segments":[{"text":"","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"collectionCardColor":"yellow","collectionPageProperties":[{"width":200,"visible":true,"property":"adca294b-ee08-4b7e-a040-e0f608786311"}]},"version":128,"status":1,"subNodes":["12799ff9-865e-401d-aae9-d1e5640a6c9a","cd31509d-f13b-4df1-9f15-b4ecd8931a57"],"views":["74e779a1-0083-464f-b388-d9b3d0c3933d"],"isTemplate":false,"templatePages":null,"moved":null,"permissions":[],"discussions":[],"createdAt":1732898820254,"createdBy":"f6bf5bec-b1f2-4751-b556-0013739570af","updatedAt":1737026878730,"updatedBy":"f6bf5bec-b1f2-4751-b556-0013739570af"},"cd31509d-f13b-4df1-9f15-b4ecd8931a57":{"uuid":"cd31509d-f13b-4df1-9f15-b4ecd8931a57","parentId":"b0b3635e-1a5e-4f46-9570-861ad49b42d9","spaceId":"e45c909a-69e4-4851-b380-63e47cb8ae73","type":28,"title":"黑名单","backgroundColor":null,"textColor":null,"data":{"format":{"textColor":"green","backgroundColor":""},"segments":[{"text":"黑名单","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"pageFixedWidth":true,"collectionCardColor":"grey","collectionProperties":{"5a8f4eec-c139-44ec-b681-90767a0aee00":[{"text":"","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"93cbbe81-36fd-4b70-a54b-c6e090270833":[{"text":"","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"9b35d9d7-8b81-4c03-8b6f-e37c5fe42ff5":[{"text":"","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"ad75d577-bc9a-458e-9a16-837461e1f34e":[{"text":"wxid_dca8dv18n4bt22","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"adca294b-ee08-4b7e-a040-e0f608786311":[{"text":"44036019631@chatroom","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"b2d65ee0-e30a-49b1-8e1b-5ec006a97884":[{"text":"","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"bb672eba-4a48-47bd-9b76-f825e9bdcba4":[{"text":"黑名单","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}],"d463d662-041b-4fb9-9bc6-7f9b07715326":[{"text":"","type":0,"enhancer":{"bold":false,"code":false,"italic":false,"underline":false,"lineThrough":false}}]}},"version":41,"status":1,"subNodes":[],"views":null,"isTemplate":null,"templatePages":null,"moved":null,"permissions":[],"discussions":[],"createdAt":1732898837386,"createdBy":"f6bf5bec-b1f2-4751-b556-0013739570af","updatedAt":1737026875043,"updatedBy":"f6bf5bec-b1f2-4751-b556-0013739570af"}},"collectionViews":{},"discussions":{},"comments":{},"roles":{"541a3146-400a-49e1-8207-321bd33ac822":"reader","0e39b589-7efc-4afa-a633-3bf15276762a":"reader","12799ff9-865e-401d-aae9-d1e5640a6c9a":"reader","61cdfe30-1665-4c77-91d0-2673d82ce4c1":"reader","83e50ac8-d37d-4dfc-85fa-899e840ce346":"reader","b0b3635e-1a5e-4f46-9570-861ad49b42d9":"reader","cd31509d-f13b-4df1-9f15-b4ecd8931a57":"reader","ddae79ab-6cfe-46fd-9348-6f80f3ae800f":"none","e45c909a-69e4-4851-b380-63e47cb8ae73":"none"}}}